You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Telethon或Pyrogram程序化获取Telegram API_ID与API_HASH

程序化获取Telegram API_ID/API_HASH的简便方案
  • 复用会话文件中的API凭证
    如果你已经用某套API_ID/API_HASH完成过账号注册,Telethon或Pyrogram生成的会话文件(比如Telethon的session.session、Pyrogram的my_account.session)里会保存对应的API信息。直接从会话里读取就行,不用再走获取流程。
    示例代码(Telethon):

    from telethon.sessions import StringSession
    
    # 可以是会话字符串或者本地会话文件路径
    session = StringSession("你的会话内容")
    print("API_ID:", session.api_id)
    print("API_HASH:", session.api_hash)
    

    只要是用同一套API注册的账号,会话里的API信息都是相同的,完全可以复用。

  • 预生成批量API凭证
    提前手动去Telegram开发者平台创建一批API应用,把生成的API_ID/API_HASH存到本地配置文件(比如JSON、CSV)里。程序注册账号时,直接从配置池里取可用的凭证,用完可以标记或者循环使用。这种方法只需要一次手动操作,就能解决长期的批量注册需求,比爬网页省事太多。

  • 调用官方未公开的API创建接口
    Telegram有个未公开的接口可以程序化创建API应用,不用模拟网页登录。你可以利用注册账号时已经拿到的phone_code_hash和手机号,直接发请求生成API凭证。
    示例请求(Python):

    import requests
    
    def get_api_creds(phone_code_hash, phone_number):
        url = "https://my.telegram.org/apps/create"
        payload = {
            "phone_number": phone_number,
            "phone_code_hash": phone_code_hash,
            "first_name": "AutoCreated",
            "app_title": "MyAutoApp",
            "app_shortname": f"auto_{phone_number[-4:]}",
            "app_platform": "android",
            "app_url": "",
            "app_desc": ""
        }
        resp = requests.post(url, data=payload)
        if resp.status_code == 200:
            data = resp.json()
            return data["api_id"], data["api_hash"]
        return None, None
    

    注:phone_code_hash可以在Telethon/Pyrogram的注册流程中获取(调用send_code_request后会返回这个值),因为注册时已经完成了手机号验证,不需要再收验证码。

内容的提问来源于stack exchange,提问作者DanielTheGeek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 23:40:34