缺少页面的user_profile权限 - 我该如何获取它?

时间:2017-09-29 04:08:01

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

我有一个执行以下操作的WEB应用程序:

1)用户使用Facebook登录;我最终得到了一个应用程序范围的ID(我使用node&#39s的Passport,但这种情况无关紧要)

2)用户点击复选框插件,之后我收到一个页面范围的ID。该复选框位于此处,以便用户接受Gigsnet的演出通知。

3)此时,我的页面(或我的应用程序,我不是100%确定)已user_messaging,但它缺少user_profile。来自文档:"但是,可能存在其他情况,其中只有一个(或两者都没有)被授予,例如通过插件或广告遇到机器人,或遇到朋友使用机器人共享的页面。&# 34; https://developers.facebook.com/docs/messenger-platform/webview/permissions/

4)由于我缺少该权限,因此我对/ ids_for_apps(此处记录为https://developers.facebook.com/docs/messenger-platform/identity/id-matching)的调用失败。 FB开发人员证实了这一失败的原因。我需要此调用从页面范围的用户ID开始查找应用程序范围的用户ID(以便我的应用程序知道如何向特定登录用户发送消息)

开发人员提供的链接是关于如何从移动应用程序制作WebView。如果我设法通过我的网络应用程序实现这一点(我甚至不确定是否可能),那么我就可以让Facebook向用户询问额外的许可(这将是痛苦的,但可行的)

那么......我怎么能得到那个缺失的许可......?

  • 我是否需要以某种方式从我的WEB应用程序调用Web视图?如果是这样,怎么样?

  • 有更简单的方法吗?例如,在登录时授予该权限?

这是我与Facebook开发人员打开的错误,虽然我怀疑他们有更多更糟糕和更紧急的错误追逐:https://developers.facebook.com/bugs/1560060124032512/

1 个答案:

答案 0 :(得分:0)

此人需要与您的Messenger应用互动。这是一个可以获取用户个人资料权限的操作列表:

  • 此人通过欢迎屏幕开始对话,并点击了“开始”#34;按钮。
  • 此人通过点击"发送给Messenger"来启动对话。按钮。
  • 此人通过发送消息开始对话。
  • 此人通过点击按钮开始对话。
  • 您的Messenger应用程序使用webview中Messenger Extensions SDK的askPermission()函数来请求user_profile权限。