【问题标题】:API authentication from a facebook messenger bot conversation来自 Facebook Messenger 机器人对话的 API 身份验证
【发布时间】:2016-08-04 20:06:32
【问题描述】:

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

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

我在User Profile 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" }

【问题讨论】:

    标签: facebook authentication bots facebook-messenger facebook-messenger-bot


    【解决方案1】:

    这取决于他们是如何进来的。

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

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

    1. 如果他们直接访问您的机器人,您必须在对话中向他们提供某种登录名(您的登录名)。这将发生在指向移动 Web URL 的链接中。

    【讨论】:

    • 这正是我想要的,谢谢!我将编辑您的答案以包含文档中的更多详细信息。
    • @pschang 如果我想在 bot 中实现第三方 Oauth 流程,比如获取用户的 twiiter 帐户的访问令牌,最佳实践应该是什么?好像用户提供了他的 Twitter 用户名、密码,这不是一个好习惯……有什么想法吗?
    • @ANinJa 我需要同样的解决方案,你有办法解决吗? :)
    • @VaclovasRekašiusJr.您正在实施什么样的用例?
    • @ANinJa 我想通过 Messenger 通用消息实现 facebook 登录(比如说一个简单的按钮)。
    猜你喜欢
    • 2020-03-28
    • 2016-08-20
    • 1970-01-01
    • 2017-08-12
    • 1970-01-01
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多