Telegram 开发者 API 申请完整教程:API ID 和 Hash 获取与使用指南(2026最新版)

什么是 Telegram API?为什么需要申请?

Telegram 提供两套 API 体系:Bot API(用于创建机器人)和 Client API / TDLib(用于开发第三方客户端、Userbot 等高级应用)。

使用 Bot API 只需通过 @BotFather 获取 Token 即可,无需额外申请。但如果你要开发第三方 Telegram 客户端、数据采集工具、Userbot 或其他高级应用,就需要到 my.telegram.org 申请 API IDAPI Hash

本教程将详细演示 2026 年最新的申请流程,涵盖每个步骤的注意事项和常见坑点。

Telegram API 申请完整流程:访问 my.telegram.org → 手机号登录 → 进入 API 开发工具 → 填写表单 → 获取 API ID 和 Hash

前置条件

  • 一个已注册的 Telegram 账号(需要能接收验证码)
  • 稳定的网络环境(需能访问 my.telegram.org)
  • 准备好应用的名称和简介(英文)
💡 小贴士:每个手机号只能申请一组 API ID 和 Hash,且创建后无法删除或重新生成,请务必妥善保存。

第一步:访问 my.telegram.org

在浏览器中打开 https://my.telegram.org

页面会显示一个手机号码输入框,输入你的 Telegram 注册手机号(需要带国际区号,如 +86 13912345678)。

第二步:接收并输入验证码

点击「Next」后,Telegram 会通过 App 内消息(不是短信)发送一个 5 位数验证码。

  1. 打开 Telegram App
  2. 查看与 Telegram(官方服务通知)的对话
  3. 找到类似「Login code: 12345」的消息
  4. 将验证码输入到网页中,点击「Sign In」
🔴 注意:验证码通过 Telegram App 发送,不是短信。如果长时间未收到,检查网络或尝试重新发送。验证码有效期约 5 分钟。

第三步:进入 API 开发工具

登录成功后,页面会显示几个选项。点击 「API development tools」 进入 API 申请页面。

如果你之前已经申请过,会直接显示已有的 API ID 和 Hash。如果是首次申请,会显示一个表单。

第四步:填写 API 申请表单

my.telegram.org API 申请表单页面:填写应用标题、短名称、平台等信息后获取 API ID 和 Hash

字段 说明 填写示例
App title 应用名称(英文,可随意填) My Telegram App
Short name 短名称(5-32 位英文字母) myapp
URL 应用网址(选填,可留空) https://example.com
Platform 目标平台 Desktop(推荐选 Desktop 或 Other)
Description 应用简介(简单描述用途) A tool for managing Telegram messages

填写完毕后点击 「Create application」,页面会立即显示你的 API ID(纯数字)和 API Hash(32 位十六进制字符串)。

第五步:保存 API 凭证

创建成功后,你会看到类似以下信息:

App api_id:   28XXXXX
App api_hash: 3f4a8eXXXXXXXXXXXXXXXXXXXXXXXX
🔴 重要安全提醒:

  • API ID 和 Hash 是永久有效的,无法重新生成
  • 切勿将它们提交到公开的 GitHub 仓库
  • 建议存储在环境变量或加密配置文件中
  • 泄露后别人可以用你的凭证开发应用,可能关联到你的账号

第六步:使用 API 凭证开发应用

场景一:使用 Telethon(Python)开发 Userbot

pip install telethon

from telethon import TelegramClient

api_id = 28XXXXX           # 替换为你的 API ID
api_hash = '3f4a8eXXXXXX'  # 替换为你的 API Hash

client = TelegramClient('session_name', api_id, api_hash)

async def main():
    await client.start()
    me = await client.get_me()
    print(f"登录成功: {me.first_name} (@{me.username})")

    # 获取最近对话
    async for dialog in client.iter_dialogs(limit=10):
        print(f"{dialog.name}: {dialog.id}")

with client:
    client.loop.run_until_complete(main())

场景二:使用 Pyrogram(Python)

pip install pyrogram

from pyrogram import Client

app = Client("my_account", api_id=28XXXXX, api_hash="3f4a8eXXXXXX")

async def main():
    async with app:
        me = await app.get_me()
        print(f"Hi, {me.first_name}")

app.run(main())

场景三:使用 GramJS(JavaScript/TypeScript)

npm install telegram

const { TelegramClient } = require("telegram");
const { StringSession } = require("telegram/sessions");

const client = new TelegramClient(
  new StringSession(""), apiId, apiHash, { connectionRetries: 5 }
);
await client.start({ phoneNumber, phoneCode: async () => "12345" });
console.log("Connected!");

API ID vs Bot Token 对比

对比项 API ID + Hash Bot Token
获取方式 my.telegram.org 申请 @BotFather 创建
用途 第三方客户端、Userbot、数据采集 机器人自动回复、群管理
身份 以个人账号身份运行 以 Bot 身份运行
主动发消息 可以(与普通用户相同) 需对方先 /start
是否可重新生成 不可以(永久唯一) 可以(/revoke)
封号风险 较高(滥用会封个人号) 较低(仅限制 Bot)

常见问题

问题 原因 解决方案
my.telegram.org 打不开 网络限制 使用代理或 VPN 访问
收不到验证码 验证码发到 App 而非短信 检查 Telegram App 中的服务通知
提示 “Too many tries” 短时间请求过多 等待 24 小时后再试
API Hash 忘记了 未保存 重新登录 my.telegram.org 查看
FloodWaitError API 调用过于频繁 按报错提示的秒数等待后重试
SESSION_REVOKED 会话被终止(可能在其他设备登出) 删除 session 文件重新登录

总结

Telegram API 申请过程并不复杂,只需 5 分钟即可完成。关键是妥善保管 API ID 和 Hash,不要泄露到公开平台。有了 API 凭证后,你可以使用 Telethon、Pyrogram、GramJS 等框架开发各种 Telegram 应用,从简单的消息转发到复杂的数据采集和自动化工具。

如果觉得自己操作太麻烦,可以直接去 aaadoy海外账号购买平台 购买现成的账号,方便快捷,售后有保障。

🌐 需要海外账号?我们覆盖全品类

Apple ID · Telegram · Netflix · Spotify · Facebook · Instagram · TikTok · ChatGPT

🛒 前往商店购买