Facebook Messenger Platform:如何获取用户特定信息?

时间:2016-04-25 04:28:54

标签: facebook facebook-graph-api facebook-messenger

我正在尝试最近发布的Facebook Messenger平台,到目前为止一切顺利。一切运作良好,我能够创建一个回声机器人。

但我想知道如何识别在我的页面中开始聊天的用户。例如,当用户开始聊天时,我得到一个PID用户(页面特定的用户ID)。

向Facebook Graph API发出以下请求:

GET https://graph.facebook.com/v2.6/{PAGE_SPECIFIC_USER_ID}

我发现我可以要求以下字段:first_name,last_name和profile_pic。

所以我的问题是,如何判断此用户是否是我的商家页面的当前客户?是否有另一种查询更多信息的方式(如电子邮件和真实的Facebook用户ID)?

4 个答案:

答案 0 :(得分:5)

Facebook更新了信使平台API (2016-07-01),并推出了一项名为Account Linking的新功能。这可用于识别通过Facebook Login在您的网站上创建帐户的用户,您可以将这两个帐户关联起来。 Facebook登录有自己的一组权限,可用于通过Facebook图形API获取更多信息。您可以找到完整列表here

答案 1 :(得分:3)

目前,没有办法做到这一点。最好的方法是提示用户在聊天中输入他们的信息,或者为他们提供指向移动登录页面的链接或其他将帐户链接到聊天的方式。

答案 2 :(得分:2)

Messenger Platform 2.0引入了“ID匹配API”,即可解决问题。 https://developers.facebook.com/docs/messenger-platform/connecting-accounts

答案 3 :(得分:-1)

您可以使用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 ...