【问题标题】:Accessing facebook user id for microsoft bot framework访问 microsoft bot 框架的 facebook 用户 ID
【发布时间】:2017-02-18 04:04:41
【问题描述】:
我正在使用 Microsoft Bot Framework 构建一个 Messenger 机器人。我在 messenger 上注册了机器人,并设置了一个基本的 echo 机器人。
但是,我想访问用户的电子邮件 ID 以检查安全性。我如何从框架中访问它。会话对象中的用户 ID 为我提供了页面 ID,但不提供用户 ID。
知道如何检索用户 ID 吗?
【问题讨论】:
标签:
bots
botframework
facebook-messenger
【解决方案1】:
正在回答正在查看此内容的人。会话对象中的用户 id 实际上是页面范围的用户 id。
在 Microsoft Bot Framework 的 node.js SDK 上可以通过
访问它
var user_id = session.user.id
此 ID 与页面访问令牌可与 Facebook Graph API 一起使用以获取更多详细信息。使用来自npm的请求模块
r = requests.get("https://graph.facebook.com/v2.6/"+ user_id + "?fields=first_name,last_name,profile_pic,email,locale,timezone,gender&access_token=" + page access token)
返回对象包含以下数据
- 名字
- 姓氏
- 电子邮件
- 语言环境
- 时区
- 性别
【解决方案2】:
您可以在活动中使用频道数据来访问来自 facebook(或所有其他频道)的所有原始信息,例如:
活动活动;
动态 d = JObject.Parse(activity.ChannelData.ToString());
Documentation