Facebook Messenger平台:如何获取用户特定的信息?
问题描述:
我正在尝试最近发布的Facebook Messenger平台,迄今为止这么好。一切运行良好,我能够创建一个回声机器人。Facebook Messenger平台:如何获取用户特定的信息?
但我想知道如何识别这个用户,开始在我的页面聊天。例如,当用户开始聊天时,我得到一个PID用户(页面特定的用户ID)。
使得后续请求给Facebook图形API:
GET https://graph.facebook.com/v2.6/{PAGE_SPECIFIC_USER_ID}
我发现我可以问以下字段:名字,姓氏和profile_pic。
所以我的问题是,我怎么能发现,如果这个用户是我的商业页面的当前客户?是否有另一种查询更多信息的方式(如电子邮件和真正的Facebook用户ID)?
答
目前,没有办法做到这一点。最好的方法是提示用户在聊天中输入他们的信息,或给他们一个链接到移动登录页面或其他方式将他们的账户链接到聊天。
答
Facebook已更新信使平台API (2016-07-01)并引入了一项新功能,称为Account Linking。这可以用于识别通过Facebook Login
在您的网站上创建帐户的用户,并且您可以链接这两个帐户。 Facebook登录拥有自己的一套权限,可以通过Facebook图形API获取更多信息。你可以找到完整列表here。
答
可以retreive用户信息,如下面使用fbmq库https://github.com/conbus/fbmq
# this method will occur when a message received from user
@page.handle_message
def message_handler(event):
user_profile = page.get_user_profile(event.sender_id)
print(user_profile) #first_name, last_name, profile_pic, gender ...
答
Messenger平台2.0推出 “ID匹配的API”,这将解决这个问题。 https://developers.facebook.com/docs/messenger-platform/connecting-accounts