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

如何通过@twa-dev/sdk检测TMA用户并获取用户标识传递至API?

获取Telegram小程序(TMA)用户标识(无需完整认证)

@twa-dev/sdk 提供了直接获取用户基础标识的能力,完全满足你无需完整认证、仅传递Telegram ID等信息到API的需求:

  • 核心属性:window.Telegram.WebApp.initDataUnsafe.user
    这个对象包含用户的id(Telegram唯一ID)、first_name、last_name、username等基础信息,无需额外认证流程即可直接获取。

    注意:initDataUnsafe的数据由客户端直接提供,未经过服务器端签名验证。如果你的业务对数据真实性要求极高,后续可以在服务器端用Bot Token验证initData的签名;若只是用于关联用户数据且风险可控,直接使用该属性即可。

简单代码示例

import WebApp from '@twa-dev/sdk';

// 初始化Telegram WebApp
WebApp.ready();

// 获取用户信息
const userInfo = WebApp.initDataUnsafe.user;
if (userInfo) {
  const { id: telegramId, username } = userInfo;
  // 将用户标识传递到你的API接口
  fetch('/your-api-path', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ telegramId, username })
  });
}

额外提示

  • 确保你的小程序已在Telegram Bot平台配置了正确的域名,否则可能无法正常获取用户数据。
  • 若后续需要提升安全性,可参考Telegram官方文档的签名验证流程,但这并非当前需求的必要步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 15:22:01