Telegram API ID และ API hash เทียบกับ bot token: คุณต้องใช้ข้อมูลรับรองแบบใด?
Telegram bot token ใช้ยืนยันตัวตนของบอตหนึ่งตัวกับ HTTP Bot API แต่ไม่สามารถใช้เข้าสู่ระบบบัญชี Telegram ส่วนบุคคลได้ ส่วน API ID และ API hash ใช้ระบุแอปพลิเคชันไคลเอนต์ และจำเป็นเมื่อต้องอนุญาตบัญชีผู้ใช้ผ่าน MTProto API ของ Telegram ซึ่งรวมถึงการเข้าสู่ระบบด้วยรหัสและ QR เลือกข้อมูลรับรองตามตัวตนที่คุณต้องควบคุม: ตัวตนบอต → bot token; บัญชีผู้ใช้ที่มีอยู่ → API ID และ API hash
ประเด็นสำคัญ
- รับ bot token จาก
@BotFatherเมื่อการเชื่อมต่อของคุณต้องทำงานในฐานะ Telegram bot แยกต่างหาก - รับ API ID และ API hash จาก
my.telegram.orgเมื่อแอปพลิเคชันต้องอนุญาตบัญชีผู้ใช้ Telegram ที่มีอยู่ - Bot token ใช้แทน API ID/API hash ไม่ได้ และการสแกน QR ไม่ได้ทำให้ข้อกำหนดเรื่องข้อมูลรับรองของแอปพลิเคชันหายไป
- อย่าเก็บ bot token, API hash, รหัสเข้าสู่ระบบ หรือข้อมูลสำคัญของเซสชันที่ได้รับอนุญาตไว้ในระบบควบคุมซอร์สโค้ดหรือบันทึกระบบ
- สำหรับบัญชี Telegram ทั่วไปใน UnifyPort ให้ทำตามคู่มือการอนุญาต Telegram โดยใช้ API ID และ API hash; อย่านำ token จาก BotFather มาใส่ในขั้นตอนนี้
Telegram API ID และ API hash เทียบกับ bot token
ชื่อของค่าทั้งสามนี้ทำให้สับสนได้ง่าย เพราะทุกค่าล้วนให้สิทธิ์เข้าถึง Telegram ในรูปแบบใดรูปแบบหนึ่ง แต่ค่าเหล่านี้อยู่บน API คนละส่วนและใช้ยืนยันตัวตนที่ต่างกัน
| สิ่งที่คุณกำลังสร้าง | ข้อมูลรับรอง | รับจากที่ใด | ตัวตนหลังการอนุญาต |
|---|---|---|---|
| การเชื่อมต่อกับ HTTP Bot API | Bot token | @BotFather | บัญชีบอตแยกต่างหาก |
| ไคลเอนต์ที่เข้าสู่ระบบบัญชีผู้ใช้ Telegram | API ID + API hash จากนั้นใช้รหัส, QR หรือขั้นตอนเข้าสู่ระบบของผู้ใช้แบบอื่นที่รองรับ | my.telegram.org → API development tools | บัญชีผู้ใช้ที่ได้รับอนุญาต |
| การเชื่อมต่อบัญชีผู้ใช้ใน UnifyPort | API ID + API hash สำหรับการอนุญาตด้วยรหัสหรือ QR | my.telegram.org | บัญชี Telegram ที่อนุมัติการเข้าสู่ระบบ |
บทแนะนำบอตอย่างเป็นทางการของ Telegram ระบุไว้อย่างชัดเจนว่า bot token ใช้ยืนยันตัวตนของ บอต ไม่ใช่บัญชีของคุณ Token นี้จะถูกส่งไปยัง endpoint เช่น https://api.telegram.org/bot<TOKEN>/getMe และสามารถเพิกถอนได้ใน @BotFather
ส่วน API ID และ API hash เป็นของแอปพลิเคชันไคลเอนต์ Telegram โดย Telegram จะออกค่าเหล่านี้ให้หลังจากคุณเข้าสู่ระบบที่ my.telegram.org และกรอกแบบฟอร์ม API development tools จากนั้นวิธีอนุญาตผู้ใช้จะใช้ข้อมูลรับรองของแอปร่วมกับขั้นตอนเข้าสู่ระบบที่ผู้ใช้เป็นผู้ควบคุม ตัวอย่างเช่น auth.sendCode รับหมายเลขโทรศัพท์, api_id และ api_hash; เมื่ออนุญาตสำเร็จ เซสชันไคลเอนต์ที่ได้จะเชื่อมโยงกับผู้ใช้
นี่คือความแตกต่างที่ใช้ตัดสินใจ: bot token เลือกตัวตนของบอต ขณะที่ API ID/API hash ระบุไคลเอนต์ที่เข้าร่วมในกระบวนการเข้าสู่ระบบบัญชีผู้ใช้
ควรเลือกข้อมูลรับรองแบบใด?
เริ่มจากตัวตนที่ต้องรับหรือส่งข้อความ
เลือก bot token เมื่อตัวตนบอตตรงตามความต้องการ
ใช้ Bot API อย่างเป็นทางการเมื่อผู้ใช้ตั้งใจสนทนากับ username ของบอต เพิ่มบอตเข้าในกลุ่ม หรือใช้ฟีเจอร์เฉพาะของบอต สร้างบอตด้วย @BotFather เก็บ token ให้ปลอดภัยเช่นเดียวกับรหัสผ่าน และรับข้อมูลอัปเดตจาก Bot API ผ่าน polling หรือ Telegram webhook
วิธีนี้มักเป็นทางเลือกที่ตรงไปตรงมาที่สุดสำหรับผลิตภัณฑ์ที่ทำงานเฉพาะบน Telegram และออกแบบมาโดยมีบอตเป็นศูนย์กลาง Telegram เป็นผู้ดูแลวงจรชีวิตของบอต API นี้เป็น API อย่างเป็นทางการ และคุณไม่จำเป็นต้องอนุญาตเซสชันผู้ใช้ส่วนบุคคล บทความ เปรียบเทียบระบบแชตอัตโนมัติแบบเนทีฟของ Telegram กับคิวข้อความขาเข้าแบบข้ามช่องทาง อธิบายว่าโมเดลอย่างเป็นทางการนี้เหมาะกับกรณีใด
เลือก API ID และ API hash เมื่อต้องใช้ตัวตนของบัญชีผู้ใช้
ใช้แนวทาง client API ของ Telegram เมื่อผลิตภัณฑ์ต้องอนุญาตบัญชี Telegram ที่มีอยู่ แทนการสร้างตัวตนบอตใหม่ ขั้นแรก แอปพลิเคชันจะระบุตัวเองด้วย API ID และ API hash จากนั้นเจ้าของบัญชีจะทำขั้นตอนเข้าสู่ระบบของผู้ใช้ให้เสร็จ เช่น กรอกรหัสยืนยัน อนุมัติ QR และยืนยัน 2FA หากเปิดใช้งานไว้
อย่าตีความว่า API ID/API hash เพียงอย่างเดียวหมายถึงบัญชีเข้าสู่ระบบแล้ว ค่าทั้งสองใช้ระบุแอปพลิเคชัน ส่วนการอนุญาตที่ผู้ใช้ควบคุมจะสร้างเซสชันของบัญชี ในทำนองเดียวกัน หมายเลขโทรศัพท์หรือรูปภาพ QR ไม่สามารถใช้แทนข้อมูลรับรองของแอปพลิเคชันได้
หากเป้าหมายสุดท้ายของคุณคือส่งต่อข้อความจากบัญชี Telegram ที่มีอยู่ไปยังระบบอื่น บันทึกการสร้างตัวส่งต่อจาก Telegram ไปยัง Slack จะแสดงสถาปัตยกรรม webhook หลังจากเชื่อมต่อบัญชีแล้ว
วิธีรับ API ID และ API hash จาก my.telegram.org
ขั้นตอนอย่างเป็นทางการของ Telegram นั้นสั้น แต่ชื่อหน้าที่เลือกมีความสำคัญ:
- ลงทะเบียนหมายเลขโทรศัพท์และคงหมายเลขนั้นให้ใช้งานได้ในแอป Telegram อย่างเป็นทางการ
- เปิด my.telegram.org และเข้าสู่ระบบบัญชีให้เสร็จที่
/auth - เลือก API development tools
- กรอกแบบฟอร์มแอปพลิเคชันให้ครบ
- เก็บ
api_idและapi_hashที่ได้รับไว้ในระบบจัดเก็บข้อมูลรับรองฝั่งเซิร์ฟเวอร์
ปัจจุบัน Telegram อนุญาต API ID หนึ่งรายการต่อหมายเลขโทรศัพท์หนึ่งหมายเลข และเตือนว่าไลบรารีไคลเอนต์จะถูกตรวจสอบเพื่อค้นหาการใช้งานที่ไม่เหมาะสม ใช้ข้อมูลรับรองของแอปพลิเคชันคุณเองสำหรับแอปที่เผยแพร่แล้ว ปฏิบัติตามข้อกำหนดในการให้บริการ API ของ Telegram และอย่านำ API ID ตัวอย่างที่มีข้อจำกัดจากไคลเอนต์โอเพนซอร์สของ Telegram มาใช้ใน production
การเข้าสู่ระบบด้วย QR ยังต้องใช้ API ID และ API hash หรือไม่?
ต้องใช้ QR เปลี่ยนวิธีที่ผู้ใช้อนุมัติการเข้าสู่ระบบ แต่ไม่ได้เปลี่ยนแอปพลิเคชันไคลเอนต์ที่ส่งคำขอ
ขั้นตอน QR อย่างเป็นทางการของ Telegram เริ่มจาก auth.exportLoginToken ซึ่งมี api_id และ api_hash อยู่ในพารามิเตอร์ ไคลเอนต์จะแสดง token ที่ได้รับกลับมาเป็น QR แบบ tg://login จากนั้นผู้ใช้จะสแกนและยอมรับด้วยแอป Telegram ที่เข้าสู่ระบบไว้แล้ว Telegram ระบุว่า login token มักหมดอายุหลังจากประมาณ 30 วินาที จึงต้องรีเฟรช QR ที่หมดอายุ
ด้วยเหตุนี้ คำถามว่า “QR หรือข้อมูลรับรอง API?” จึงไม่ใช่ทางเลือกที่ถูกต้อง สำหรับการอนุญาตผู้ใช้ QR เป็นวิธีอนุมัติที่ใช้ ร่วมกับ ข้อมูลรับรองของแอปพลิเคชัน
UnifyPort เกี่ยวข้องอย่างไร
UnifyPort เชื่อมต่อบัญชี Telegram ทั่วไปผ่านอินเทอร์เฟซที่ไม่เป็นทางการ และไม่ได้สร้าง Telegram bot ดังนั้นขั้นตอนการอนุญาตด้วยรหัสและ QR จึงใช้แนวทางข้อมูลรับรองสำหรับบัญชีผู้ใช้
สำหรับการอนุญาตด้วยรหัส ให้สร้างบัญชีด้วย provider: "telegram", auth_mode: "code" และฟิลด์จริงต่อไปนี้:
{
"provider": "telegram",
"auth_mode": "code",
"provider_data": {
"api_id": 12345678,
"api_hash": "0123456789abcdef0123456789abcdef",
"phone": "+886912345678"
}
}
สำหรับการอนุญาตด้วย QR ยังคงต้องระบุ provider_data.api_id และ provider_data.api_hash ส่วนเจ้าของบัญชีจะเป็นผู้อนุมัติ QR ที่มีอายุสั้นใน Telegram เอกสารอ้างอิง API สำหรับการอนุญาต Telegram ระบุขั้นตอนสำหรับรหัส, QR, 2FA และเซสชันไว้อย่างชัดเจน
หลังจากอนุญาตแล้ว ข้อความขาเข้าจาก Telegram จะส่งมาเป็นอีเวนต์ message.received ที่ลงนามแล้วแบบเดียวกับผู้ให้บริการอื่นที่เชื่อมต่ออยู่ Token จาก BotFather ไม่ใช่ข้อมูลนำเข้าของขั้นตอนสำหรับบัญชีทั่วไปนี้
ข้อจำกัดและสิ่งที่ต้องแลก
ใช้ Bot API อย่างเป็นทางการของ Telegram เมื่อตัวตนบอตแยกต่างหากตรงตามข้อกำหนดของผลิตภัณฑ์ API นี้ออกแบบมาเพื่อบอตโดยเฉพาะและไม่ต้องดูแลเซสชันบัญชีผู้ใช้
ใช้ขั้นตอนแบบไคลเอนต์/บัญชีผู้ใช้เฉพาะเมื่อจำเป็นต้องใช้บัญชีที่มีอยู่จริง ๆ การอนุญาตจะสร้างข้อมูลเซสชันที่มีความละเอียดอ่อน บัญชียังคงอยู่ภายใต้กฎของ Telegram และการเข้าถึง API ไม่ได้ให้สิทธิ์ส่งสแปมหรือทำกิจกรรมอื่นที่ต้องห้าม UnifyPort ไม่ได้เปลี่ยน bot token ให้เป็นเซสชันผู้ใช้ ไม่ได้สร้าง API ID แทนคุณ และไม่ได้ทำให้กลไกควบคุมแพลตฟอร์มของ Telegram หมดไป
นอกจากนี้ ให้แยก Telegram Login สำหรับเว็บไซต์ออกจากการตัดสินใจนี้ ระบบเข้าสู่ระบบผ่านเว็บในปัจจุบันของ Telegram เป็นขั้นตอน OpenID Connect ที่มีการกำหนดค่าไคลเอนต์ของตัวเอง และไม่สามารถใช้แทน Bot API token หรือการอนุญาตบัญชีผู้ใช้ผ่าน MTProto ได้
คำถามที่พบบ่อย
Telegram API ID เหมือนกับ bot token หรือไม่?
ไม่เหมือน API ID ใช้ระบุแอปพลิเคชันไคลเอนต์ที่เข้าร่วมในการอนุญาตผ่าน Telegram API ส่วน bot token ใช้ยืนยันตัวตนของบอตหนึ่งตัวกับ Bot API ค่าทั้งสองออกให้จากคนละที่และควบคุมตัวตนที่ต่างกัน
หากมี bot token อยู่แล้ว ยังต้องใช้ API ID และ API hash หรือไม่?
ไม่จำเป็นสำหรับการเรียก HTTP Bot API ตามปกติ เพราะคุณใช้ bot token สำหรับบอตนั้น API ID และ API hash จำเป็นเมื่อการเชื่อมต่อของคุณอนุญาตผู้ใช้ Telegram ผ่าน client API; bot token ไม่สามารถเข้าสู่ระบบแทนผู้ใช้นั้นได้
my.telegram.org/auth อยู่ที่ใด?
เปิด https://my.telegram.org/ และเข้าสู่ระบบด้วยหมายเลขโทรศัพท์ Telegram ของคุณ หลังยืนยันตัวตนแล้ว ให้เลือก API development tools เพื่อสร้างหรือดู API ID และ API hash ที่เชื่อมโยงกับหมายเลขนั้น
ใช้ QR เข้าสู่ระบบโดยไม่มี API hash ได้หรือไม่?
ไม่ได้ คำขอ auth.exportLoginToken ของ Telegram มีทั้ง api_id และ api_hash QR เป็นขั้นตอนอนุมัติของผู้ใช้ ไม่ใช่สิ่งที่ใช้แทนข้อมูลรับรองของแอปพลิเคชัน
UnifyPort เชื่อมต่อ Telegram ด้วย token จาก BotFather ได้หรือไม่?
ไม่ได้ในขั้นตอนอนุญาตบัญชี Telegram ทั่วไป โหมดรหัสและ QR ใช้ provider_data.api_id และ provider_data.api_hash; โหมดรหัสยังใช้หมายเลขโทรศัพท์ของบัญชีด้วย หากตัวตนเป้าหมายของคุณคือบอต ให้ใช้ Bot API อย่างเป็นทางการโดยตรง
ขั้นตอนถัดไป
หากต้องการเชื่อมต่อบัญชี Telegram ที่มีอยู่ ให้เปิด คู่มือการอนุญาต Telegram และเลือกขั้นตอนด้วยรหัสหรือ QR หากคุณต้องการเพียงตัวตนบอต ให้ใช้ @BotFather และ Bot API อย่างเป็นทางการต่อไป
แหล่งข้อมูล
- Telegram: การสร้างแอปพลิเคชัน Telegram ของคุณ
- Telegram: จาก BotFather ถึง “Hello World”
- Telegram: การอนุญาตผู้ใช้
- Telegram: การเข้าสู่ระบบผ่าน QR
ตรวจสอบแหล่งข้อมูลและเอกสารผลิตภัณฑ์แล้วเมื่อ 2026-07-19