许多新手在使用Telegram Bot或开发第三方应用时,常常在申请API Key(应用程序接口密钥)和获取正确的请求URL这一步卡住。明明按照官方文档操作,却总是找不到入口,或者申请后不知道如何拼接出可用的API URL。更常见的是,有些人申请了API ID和Hash后,却不知道它们与Bot Token的区别,导致调用接口时反复报错。本文将手把手带你走完从注册到生成可用URL的全过程。

准备工作:注册Telegram账号并登录

具体操作说明:

首先,你需要在手机或电脑上安装Telegram客户端。前往官网(telegram.org)下载对应系统的版本,安装后使用手机号注册账号。注册完成后,务必登录到你的账号,因为后续所有操作都基于已登录状态进行。建议使用手机客户端登录,电脑端也可以,但手机端的操作路径更直观。

注意事项/小提示:

  • 注册时需要使用真实可接收短信的手机号,虚拟号码可能无法收到验证码。
  • 如果你所在地区无法直接访问Telegram,需要先配置好网络环境,否则后续步骤无法完成。
  • 登录后建议先设置好两步验证,保护账号安全。

备用方案:

  • 如果手机端登录失败,可尝试使用电脑版客户端或网页版(web.telegram.org)登录。
  • 若无法接收短信验证码,检查手机是否开启了骚扰拦截,或尝试使用其他运营商号码。

进入Telegram官方API申请页面

具体操作说明:

打开手机或电脑上的浏览器,在地址栏输入官方申请页面地址:https://my.telegram.org/apps。你会看到一个登录页面,要求输入你的手机号。输入你注册Telegram时使用的手机号,点击“Next”。随后,Telegram会向你的客户端发送一个登录验证码(注意是Telegram App内的消息,不是短信)。打开Telegram,查看来自“Telegram”官方账号的消息,复制其中的验证码,粘贴到浏览器页面中完成登录。

注意事项/小提示:

  • 验证码有效期很短,通常只有几分钟,请尽快操作。
  • 如果浏览器页面长时间没反应,可以尝试刷新或更换浏览器(推荐Chrome或Edge)。
  • 登录成功后,系统会自动跳转到API管理页面,不要手动关闭页面。

备用方案:

  • 如果收不到验证码消息,检查Telegram账号是否已登录,并确认没有屏蔽“Telegram”官方账号的消息。
  • 可尝试使用无痕模式或清除浏览器缓存后重新打开页面。

创建并填写应用信息

具体操作说明:

登录成功后,你会看到一个标题为“Your Telegram Core”的页面。在页面中,找到“App configuration”区域,点击“Create Application”按钮(如果以前创建过应用,这里会显示已有应用列表,点击“Create new application”即可)。在新表单中,填写以下信息:

  • App title:给你的应用起一个名字,例如“MyTestBot”。
  • Short name:简短名称,通常与标题一致或缩写,例如“MyTest”。
  • URL:可选项,如果你有网站可以填写,没有则留空。
  • Platform:选择你使用的平台,通常选“Desktop”或“Web”。
  • Description:简单描述你的应用用途,例如“用于学习API调用”。

填写完毕后,勾选下方的“I have read and agree to the Terms of Service”,然后点击“Create application”按钮。

注意事项/小提示:

  • 应用名称不能与已有应用重复,建议使用有个人标识的名称。
  • 所有带星号的字段为必填,URL和Description可以留空。
  • 创建成功后,页面会自动刷新,显示你申请的API ID和API Hash。

备用方案:

  • 如果点击创建后报错,检查网络连接是否稳定,或尝试更换浏览器。
  • 若提示“App title already exists”,修改为其他名称即可。

获取API ID和API Hash

具体操作说明:

创建成功后,页面会跳转到应用详情页。在页面顶部,你会看到两个关键信息:App api_idApp api_hash。api_id是一串数字,api_hash是一串由字母和数字组成的字符串。请立即将这两个值复制并保存到安全的地方(例如记事本或密码管理器)。注意,这两个值是你调用Telegram API的核心凭证,不要泄露给他人。

注意事项/小提示:

  • 复制时注意不要遗漏任何字符,api_hash通常较长,建议直接点击复制按钮(如果有)或手动逐字核对。
  • 不要将api_id和api_hash上传到公开的代码仓库或分享给不信任的人,否则他人可能冒充你的应用。
  • 如果你需要创建Bot(机器人),还需要额外申请Bot Token,但API ID和Hash是调用用户端API的基础。

备用方案:

  • 如果不小心关闭了页面,可以重新登录my.telegram.org/apps,在应用列表中找到你的应用,点击查看详情即可重新获取。
  • 如果怀疑凭证泄露,可以在该页面点击“Revoke”按钮重新生成。

获取Bot Token(如需创建机器人)

具体操作说明:

如果你需要使用Bot API(例如在群组中自动回复消息),则需要额外创建一个机器人并获取Token。打开Telegram,搜索并进入官方Bot创建账号:@BotFather。点击“Start”开始对话。在输入框发送命令:/newbot。BotFather会要求你为机器人起一个名字,例如“MyTestHelperBot”。接着,它会要求你设置一个用户名,必须以“bot”结尾,例如“MyTestHelper_bot”。如果用户名可用,BotFather会回复一条消息,其中包含你的Bot Token,格式类似:1234567890:ABCdefGHIJklmNOPqrstUVwxyz。复制并保存这个Token。

注意事项/小提示:

  • 机器人用户名必须全局唯一,如果提示已被占用,尝试添加数字或下划线。
  • Bot Token是调用Bot API的唯一凭证,同样需要保密。
  • 一个账号可以创建多个机器人,每个机器人有独立的Token。

备用方案:

  • 如果忘记Token,可以再次打开与@BotFather的对话,发送命令/mybots,选择你的机器人,点击“API Token”即可查看。
  • 若需要重置Token,在Bot管理页面选择“Revoke current token”即可。

拼接并测试API请求URL

具体操作说明:

获取到API ID、API Hash和Bot Token后,就可以开始拼接请求URL了。针对Bot API,标准请求URL格式为:https://api.telegram.org/bot<你的Bot Token>/<方法名称>。例如,要获取机器人信息,可以拼接为:https://api.telegram.org/bot1234567890:ABCdefGHIJklmNOPqrstUVwxyz/getMe。直接在浏览器地址栏输入这个URL并访问,如果返回类似{"ok":true,"result":{...}}的JSON数据,说明API工作正常。对于用户端API(如获取聊天历史),则需要使用不同的基础地址和认证方式,通常通过代码库(如python-telegram-bot)调用。

注意事项/小提示:

  • 测试时务必使用正确的Bot Token,注意Token中间有冒号分隔。
  • 如果返回{"ok":false,"error_code":401,"description":"Unauthorized"},说明Token无效或已过期。
  • 对于用户端API,不建议直接在浏览器中测试,因为需要复杂的认证流程,建议使用官方提供的SDK。

备用方案:

  • 如果无法访问api.telegram.org,可能是网络问题,尝试更换DNS或使用代理。
  • 可以使用第三方API测试工具(如Postman)进行更复杂的请求调试。

常见问题补充

问:申请API ID和Hash后,为什么不能直接用浏览器访问?

答:API ID和Hash主要用于用户端API调用,需要通过代码进行身份验证(如MTProto协议),不能直接作为URL参数。而Bot Token是OAuth令牌,可以直接拼接到URL中。

问:我申请了API ID,但登录my.telegram.org时一直提示验证码错误怎么办?

答:检查Telegram客户端是否收到了来自“Telegram”账号的消息,注意验证码是6位数字。如果多次失败,等待10分钟后重试,避免触发频率限制。

问:Bot Token和API Hash有什么区别?

答:Bot Token用于控制机器人,只能调用Bot API;API Hash与API ID配合,用于调用用户端API(如读取你的聊天记录)。两者用途不同,不能混用。

问:申请的API ID和Hash可以用于多个项目吗?

答:可以,同一个应用凭证可以用于多个项目,但建议为不同用途创建独立的应用,便于管理和权限控制。

总结:申请Telegram API的关键在于正确登录my.telegram.org并创建应用,获取API ID和Hash后,再根据需求通过@BotFather获取Bot Token,最后按照标准格式拼接URL即可完成调用。