【问题标题】:MS Bot Framework and FB Messenger userMS Bot Framework 和 FB Messenger 用户
【发布时间】:2016-08-28 14:20:18
【问题描述】:

不确定我是否遗漏了什么,但我设置了新的 Facebook Messenger 功能以在我现有的 Skype Bot 框架上运行,并且一切正常。

我面临的唯一问题是我似乎无法获取向我的机器人发送消息的用户名。我已经尝试过 From 字段(ID、地址、姓名等)以及参与者字段,但它们都返回一个数字。

所发生情况的描述。

用户登录网站并填写他们的数据并为 Skype 和 Facebook 提供他们的唯一 ID,这些 ID 保存在我的后端。 一旦完成,他们就可以通过机器人框架发送消息,我会选择发送消息的人并回复他们的具体细节。

因此我需要将 facebook 用户映射到我的后端用户。

我假设 Facebook 用户名会被发送出去,因为大多数人都知道他们的用户名是什么。

有人知道我在哪里可以买到这个吗?

谢谢

【问题讨论】:

标签: facebook messenger botframework


【解决方案1】:

对于每个对话框,都有一个 session 对象。您可以在session.message.participants.to.from 下找到用户的友好名称

http://docs.botframework.com/sdkreference/nodejs/interfaces/_botbuilder_d_.imessage.html

如果像你说的那样,你得到的只是一个“数字”。该号码应该是发件人ID。您还应该在channelData.sender.id 中看到相同的数字。尝试对 facebook 进行第二次查询以获取用户信息。我试过了,效果很好。

https://developers.facebook.com/docs/messenger-platform/implementation#user_profile_api

【讨论】:

    【解决方案2】:

    我查看了当前的代码;现在 Facebook 发送给我们的消息不包括用户名,只有 Facebook 用户 ID,所以你给了我们我们所拥有的(参见 Message 对象上的 ChannelData)。

    有一个配置文件 API,我们可以调用它作为额外的往返;但目前我们还没有这样做。

    【讨论】:

    • 感谢您的信息。知道何时/是否会实施吗?我可以使用graph.facebook.com/UserID api 调用返回的 ID 来获取信息吗?
    • 经过进一步检查,它似乎不是发回的 facebook 用户 ID。我无法将发回的号码映射到我的任何详细信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 2019-06-04
    相关资源
    最近更新 更多