首页 > 解决方案 > Telegram Passport Javascript SDK

问题描述

我对 Telegram Bot API 有点陌生,在机器人中我想通过Telegram Passport验证用户的年龄

我正在尝试重新创建他们的Javascript SDK。该按钮出现并打开 Telegram Passport 但我收到错误

Could not get authorization form. PUBLIC_KEY_REQUIRED

我已经插入了我的公钥,但我仍然不断收到错误消息。如果有人可以复制他们的示例并告诉我我做错了什么,那将是一个很大的帮助。

标签: javascripttelegram

解决方案


必须在 2 个地方提供公钥。

传递给 Telegram.Passport.createAuthButton 的AuthParameters对象的public_key属性应设置为您的公钥。我假设您在声明插入公钥时执行了此操作。

您还必须使用 BotFather 为您的机器人设置公钥。用于启动 BotFather 进程的命令是/setpublickey。当您输入该命令时,BotFather 会询问您应该将密钥应用于哪些机器人,然后等待您将公钥粘贴到消息中。如果一切顺利,BotFather 会回复“成功!公钥已更新。/help”。

当我将公钥放入 AuthParameters 但未能将其上传到 BotFather 时,我看到了与您描述的相同的错误消息。


推荐阅读