facebook graph api:将其他人的页面订阅到我的应用

时间:2019-11-06 08:37:06

标签: node.js facebook

我正在创建一个Facebook机器人,用户可以使用该机器人与Facebook页面聊天。

以下是场景:

  1. 允许用户使用他的Facebook帐户登录以及必填项 权限
  2. 显示其页面的用户列表
  3. 当用户在页面上选择on时;订阅 MY FACEBOOK APP 该页面
  4. 为应用程序设置webhook
  5. 向用户的Facebook页面发送/接收消息

我在第三点上遇到麻烦。我尝试使用Facebook文档中提到的以下代码订阅应用程序

 FB.api(
'ACCESS_TOKEN',
      '/<PAGE_ID>/subscribed_apps',
      'POST',
      {"subscribed_fields":"[\n  \"feed\"\n]"},
      function(response) {
          // Insert your code here
      }
    );

,它返回以下响应:

{
  "success": true
}

问题是-我不知道该页面订阅了哪个应用;我可以拥有100个应用。 Graph api没有提供要订阅用户页面的应用ID的规定。 This is facebook doc for subscription

1 个答案:

答案 0 :(得分:0)

为了获取应用程序的页面访问令牌,您需要使用同一应用程序登录用户并登录到用户页面。

这很有意义,因为用户正在将我们的应用授予他们的页面,并向我们提供访问令牌以及应用的引用。

解决方案:

  1. 允许用户使用他的Facebook帐户登录以及必填项 权限和您的Facebook应用
  2. 显示其页面的用户列表
  3. 当用户在页面上选择on时;订阅您的FACEBOOK APP 使用步骤2中获得的页面访问令牌访问页面
  4. 为应用程序设置webhook

  5. 向用户的Facebook页面发送/接收消息