不确定我是否遗漏了一些内容,但我设置了新的Facebook Messenger功能,以便在我现有的Skype Bot框架上运行,一切运行良好。
我面临的唯一问题是我似乎无法获得将消息发送到我的机器人的用户名。我已经尝试了From字段(ID,地址,名称等)以及参与者字段,但它们都返回了一个数字。
说明会发生什么。
用户登录网站并填写他们的数据并提供他们保存在我后端的Skype和Facebook的唯一ID。 完成后,他们可以通过机器人框架发送消息,然后我选择发送消息的人并回复特定于他们的详细信息。
因此我需要将facebook用户映射到我的后端用户。
我假设将发送facebook用户名,因为大多数人都知道他们的用途。
任何人都知道我能在哪里得到这个?
由于
答案 0 :(得分:0)
我看了一下当前的代码;现在Facebook发送给我们的消息不包括用户名,只包括Facebook用户ID,所以你给我们提供的东西(参见Message对象上的ChannelData)。
我们可能会将一个配置文件API称为额外的往返行程;但目前我们没有这样做。
答案 1 :(得分: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