16

从与 facebook Messenger 平台上的机器人对话中使用外部 API 进行身份验证的最佳方式是什么?

举个广泛的例子,我希望我的机器人用户在他们自己的外部网站配置文件上创建项目。有没有办法从用户那里获取登录信息,或者将我的机器人连接到外部网站,而无需用户使用其用户名和密码明确向机器人发送消息?

我在用户配置文件 API下的文档中找到的内容:

您可以使用用户个人资料 API 中的人名或个人资料图片来个性化对话。要获取此信息,请向https://graph.facebook.com/v2.6/ ?fields=first_name,last_name,profile_pic&access_token=发出 GET 请求。在发送 API 参考中阅读更多详细信息。

这不是我想要的,但它有帮助。以下是来自文档的更多信息:

用户配置文件 API

要求

curl -X GET "https://graph.facebook.com/v2.6/<USER_ID>?fields=first_name,last_name,profile_pic&access_token=<PAGE_ACCESS_TOKEN>"

回复

{ "first_name": "Peter", "last_name": "Chang", "profile_pic": "https://fbcdn-profile-a.akamaihd.net/hprofile...70ec9c19b18" }

4

1 回答 1

14

这取决于他们如何进来。

  1. 如果他们来自您的网站,您可以使用他们帐户中的“发送到信使”按钮。使用 pass through 参数将您的帐户链接到用户线程。这是文档的摘录:

该插件接受您定义的传递参数。此参数通过回调发送回给您。您可以使用它将身份验证事件链接到个人和/或交易。例如,一个人可以输入特定交易的在线流程并单击“发送至信使”按钮。您可以传入数据以了解哪个用户和事务与身份验证事件相关联。您应该对此参数进行编码和加密。

  1. 如果他们直接来到您的机器人,您将不得不在对话中向他们展示某种登录名(您的登录名)。这将发生在指向移动 Web URL 的链接中。
于 2016-04-16T02:11:05.827 回答