facebook graph api : 订阅别人的页面到我的应用程序

facebook graph api : subscribe someone else's page to my app

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

场景如下:

  1. 允许用户使用他的 Facebook 帐户登录 权限
  2. 显示他页面的用户列表
  3. 当用户 select 在页面上时;订阅我的 FACEBOOK APP 该页面
  4. 为应用设置 webhook
  5. 发送-接收消息to/from 用户的 Facebook 页面

我在第三点上遇到了问题。我尝试使用 facebook 文档中提到的以下代码订阅应用程序

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

它 returns 以下响应:

{
  "success": true
}

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

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

这是完全合理的,因为用户将我们的应用程序授予他们的页面并向我们提供访问令牌以及我们应用程序的引用。

解决方案:

  1. 允许用户使用他的 Facebook 帐户登录 权限和您的 Facebook 应用
  2. 显示他页面的用户列表
  3. 当用户 select 访问页面时;订阅你的 FACEBOOK APP 使用步骤 2 中获得的页面访问令牌的页面
  4. 为应用设置 webhook

  5. 发送-接收消息to/from 用户的 Facebook 页面