Node.js facebook graph api:向我的应用程序订阅其他人的页面

Node.js facebook graph api:向我的应用程序订阅其他人的页面,node.js,facebook,Node.js,Facebook,我正在创建一个Facebook机器人,用户可以使用它与Facebook页面聊天 以下是场景: 允许用户使用其Facebook帐户以及所需的 权限 显示用户的页面列表 当用户在页面的上选择时;将我的FACEBOOK应用程序订阅到 那一页 安装应用程序的webhook 向用户的Facebook页面发送/接收消息 我在第三点上有问题。我尝试使用facebook文档中提到的以下代码订阅应用程序 FB.api( 'ACCESS_TOKEN', '/<PAGE_ID>/subscr

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

以下是场景:

允许用户使用其Facebook帐户以及所需的 权限 显示用户的页面列表 当用户在页面的上选择时;将我的FACEBOOK应用程序订阅到 那一页 安装应用程序的webhook 向用户的Facebook页面发送/接收消息 我在第三点上有问题。我尝试使用facebook文档中提到的以下代码订阅应用程序

 FB.api(
'ACCESS_TOKEN',
      '/<PAGE_ID>/subscribed_apps',
      'POST',
      {"subscribed_fields":"[\n  \"feed\"\n]"},
      function(response) {
          // Insert your code here
      }
    );
问题是-我不知道哪个应用程序订阅了这个页面;我可以有100个应用程序。Graph api没有提供需要根据用户页面订阅的应用程序id的规定。

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

这是完全有意义的,因为用户将我们的应用程序授予他们的页面,并向我们提供带有我们应用程序引用的访问令牌

解决方案:

允许用户使用其Facebook帐户以及所需的 权限和你的Facebook应用程序 显示用户的页面列表 当用户在页面的上选择时;订阅你的FACEBOOK应用程序 使用步骤2中获得的页面访问令牌的页面 安装应用程序的webhook

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


“Graph api没有提供应用程序id的规定”-不需要,该信息通过您正在使用的访问令牌自动暗示-在您链接到的文档部分的第一段中这样说:“为页面安装访问令牌的应用程序。”@04FS感谢您的快速输入。你是说我应该使用我的应用程序访问令牌而不是用户的页面访问令牌,因为我已经在api请求中提到了页面id?不,我当然不是这么说。文档清楚地说明您需要使用页面访问令牌。该页面标记包含它已经属于哪个应用程序id的信息。@04FS用户页面默认情况下与任何应用程序都没有关联。当我们创建新页面时,它不会请求应用程序id。我们可以创建没有应用程序的页面。页面令牌与创建令牌时使用的应用程序id相关联。
{
  "success": true
}