1

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

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

描述发生的事情。

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

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

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

有谁知道我在哪里可以得到这个?

谢谢

4

2 回答 2

0

对于每个对话框,都有一个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

于 2016-06-30T06:13:05.943 回答
0

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

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

于 2016-05-03T23:44:01.897 回答