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

Telegram API开发工具获取api_id/api_hash持续报错求助

无法获取Telegram API的api_hash和api_id问题

我需要api_hash和api_id来搭建基于Telegram API的Userbot(用于Telethon、Pyrogram等库),这类API和BotFather提供的不同,必须从Telegram的API开发工具板块获取。

我身处伊朗,三周内尝试了30余个不同国家的IP:包括土耳其、美国VPS,以及NordVPN、Hotspot Shield、v2ray等付费VPN切换IP;所用手机号覆盖阿根廷、爱沙尼亚、美国、伊朗。已关闭浏览器广告拦截,在Edge、Chrome、Firefox的常规及隐身模式下测试,提交以下请求数据后仅收到ERROR响应:

App Title: testappnumber12
Short name: testapp12
URL: www.telegram.org
Platform: Android / Desktop
Description: anything / skip

响应内容:

ERROR

为进一步验证,我用英国Linux VPS的纯净IP编写Python代码发起程序化请求,仍返回ERROR,怀疑问题出在Telegram端,希望能协助解决获取api_hash和api_id的问题。附请求代码:

import requests
from bs4 import BeautifulSoup


def main():

    send_password_url = 'https://my.telegram.org/auth/send_password'

    payload = {
        'phone': PHONE
    }

    response = session.post(url=send_password_url, data=payload)

    if response.status_code == 200:
        if response.text != "Sorry, too many tries. Please try again later." :
            random_hash = response.json()['random_hash']
        else:
            print(response.text)
            return
    else:
        print(f"Unsuccessful request. Status Code: {response.status_code}")
        return

    confirmation_code = input('Enter your confirmation code: ')

    login_url = 'https://my.telegram.org/auth/login'

    payload = {
        'phone': PHONE,
        'random_hash': random_hash,
        'password': confirmation_code
    }

    response = session.post(url=login_url, data=payload)

    if response.status_code == 200:
        if response.text != "Sorry, too many tries. Please try again later." :
            if response.text != "true":
                return
        else:
            print(response.text)
            return
    else:
        print(f"Unsuccessful request. Status Code: {response.status_code}")
        return

    apps_page = session.get('https://my.telegram.org/apps')
    soup = BeautifulSoup(apps_page.text, 'html.parser')
    page_hash = soup.find('input', attrs={'name': 'hash'}).get('value')

    print("hash:", page_hash)

    create_url = "https://my.telegram.org/apps/create"

    payload = {
        'hash': page_hash,
        'app_title': 'testapp12345',
        'app_shortname': 'testapp',
        'app_url': 'localhost',
        'app_platform': 'desktop',
        'app_desc': ''
    }

    response = session.post(url=create_url, data=payload)

    print("Telegram Response:", response.text)


if __name__ == '__main__':
    PHONE = int(input('Enter your phone number: (ex. 18880001234) '))
    session = requests.Session()
    main()
    input("Press Enter to exit...")
可能的解决方向
  • 检查账号状态:确认你的Telegram账号没有被限制API权限,部分地区的账号可能因合规原因被限制创建第三方应用。可以尝试用注册时间超6个月、有正常聊天记录的老账号测试。
  • 调整请求参数:
    • 不要用localhost或www.telegram.org作为App URL,换成真实存在的个人域名(哪怕是静态页面)。
    • App Shortname避免用testapp这类通用名称,试试带随机字符串的独特名称,比如testapp_xyz789。
    • 平台选择固定单一类型,不要同时测试Android和Desktop,比如只选Desktop。
  • 绕过自动化检测:Telegram可能对程序化请求有拦截,尝试完全用浏览器手动操作,操作过程中加入自然停顿——比如登录后等1分钟再进入创建页面,填写表单时每间隔几秒再填下一项。
  • 联系官方支持:如果以上方法都无效,通过Telegram官方支持渠道提交工单,说明你的情况(所在地区、尝试过的方法),请求解除限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 01:47:59