Facebook实时更新用户和页面

Has*_*que 1 facebook real-time-data facebook-graph-api real-time-updates

我为用户和页面设置了实时Facebook更新.每当用户更新其状态时,我都会在服务器上收到有关更改的请求.我从facebook post call获得的数据如下所示.

{  
   "object":"user",
   "entry":[  
      {  
         "uid":"10152689315982483",
         "id":"10152689315982483",
         "time":1427362347,
         "changed_fields":[  
            "feed"
         ]
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

但是,当页面管理员更新其状态时,我没有收到来自facebook的任何电话.

我按照以下步骤进行实时Facebook更新.

  • 订阅用户/页面以获取访问令牌的更新.

    graph.facebook.com//subscriptions?object=user&fields=feed&verify_token=&method=post&callback_url=htps://serverurl/realtime.php

  • 获取订阅列表

    graph.facebook.com//subscriptions

通过此调用,我可以获得用户和页面数据.

{
  "data": [
    {
      "object": "user", 
      "callback_url": "https://serverurl/realtime.php", 
      "fields": [
        "feed"
      ], 
      "active": true
    }, 
    {
      "object": "page", 
      "callback_url": "https://serverurl/realtime.php", 
      "fields": [
        "feed"
      ], 
      "active": true
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我还将应用程序添加到页面选项卡,但仍未获取页面更新.谁能告诉我我错过了什么?

小智 7

做一个http GET

https://graph.facebook.com/v2.3/{page-id}/subscribed_apps?access_token=PAGE_ACCESS_TOKEN
Run Code Online (Sandbox Code Playgroud)

如果您的应用未列出,则需要"安装"(这是将应用安装为页面标签应用的替代方案).通过向同一网址发布帖子请求来执行此操作.例如卷曲,

curl -X POST "https://graph.facebook.com/v2.3/{page-id}/subscribed_apps?access_token=PAGE_ACCESS_TOKEN"
Run Code Online (Sandbox Code Playgroud)

您不需要提供任何参数,因为您要安装的应用程序的ID是从访问令牌推断出来的.

如果/subscribed_apps已经包含您的应用ID,您可能遇到了错误,应该在http://developers.facebook.com/bug上报告