【问题标题】:Facebook realtime updates: Subscribing to a pageFacebook 实时更新:订阅页面
【发布时间】:2011-12-02 13:16:32
【问题描述】:

有人尝试订阅页面以获取实时更新吗?例如,当新的墙帖出现在页面的提要下时,我希望得到通知。

Facebook 文档说这是可能的,但之前从未见过有人做到这一点。

https://developers.facebook.com/docs/reference/api/realtime/

【问题讨论】:

标签: facebook facebook-opengraph


【解决方案1】:

您需要获取 page_accesstoken,然后将应用添加为选项卡。你可以这样做 使用 scope=manage_pages 获取管理员的用户访问令牌 获得用户访问令牌后,您可以查询我/帐户。它会显示类似

  {
      "category": "Community", 
      "name": "page name", 
      "access_token": "xxxxx", 
      "id": "1111111134678999", 
      "perms": [
        "ADMINISTER", 
        "EDIT_PROFILE", 
        "CREATE_CONTENT", 
        "MODERATE_CONTENT", 
        "CREATE_ADS", 
        "BASIC_ADMIN"
      ]
    }

该 xxx 将是页面访问令牌,您必须使用页面访问令牌将您的应用添加为选项卡。你可以这样做

https://graph.facebook.com/PAGEID/tabs?app_id=APPID&method=POST&access_token=xxx

现在,只要页面发生变化,您就会收到对回调 url 的请求。请求看起来像这样。

{
    "object": "page",
    "entry": [
        {
            "id": "408518775908252",
            "time": 1360643280,
            "changes": [
                {
                    "field": "feed",
                    "value": {
                        "item": "like",
                        "verb": "add",
                        "user_id": 5900878
                    }
                }
            ]
        }
    ]
}

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    从页面对象订阅实时更新后,您将仅收到来自已将您的应用程序添加到自己的页面的通知。

    就像您只从已验证您的应用的用户那里收到通知一样,将应用作为选项卡添加到页面相当于验证您的应用的页面。

    请参阅https://developers.facebook.com/docs/appsonfacebook/pagetabs/,了解如何将应用添加到页面。

    【讨论】:

    • 应用是否需要添加为标签?我已经向我的页面添加了一个应用程序,但它没有单独的选项卡。
    • 是的,它必须作为标签添加。
    • 您不必将其添加为选项卡,只需通过页面/选项卡边缘安装即可。正如Documentation 所述,不需要将应用程序配置为应用程序仪表板中的页面选项卡应用程序。如果未配置,该应用程序将只安装在页面上,而不是添加为选项卡。如果您从主页订阅实时更新,这将非常有用。
    【解决方案3】:

    试试这个:

    try
    {
      $me = $facebook->api('/me');
      $my_access_token = file_get_contents("https://graph.facebook.com/oauth/access_token?client_id=" .$fbconfig['appid'] ."&client_secret=" .$fbconfig['secret'] ."&type=client_cred"); 
      // SUBSCRIBE!   
      $subscribe = array( 'access_token'=> substr($my_access_token,13),
                          'object' => 'user',
                          'fields' => 'name,feed',
                          'callback_url' => $fbconfig['callback'], 
                          'verify_token' => $fbconfig['secret']);
      $subscribe = $facebook->api("/" .$fbconfig['appid'] ."/subscriptions", 'post', $subscribe);
      $parameters =  array("access_token" => substr($my_access_token,13) );
      $results = $facebook->api('/' .$fbconfig['appid'] .'/subscriptions', $parameters); 
    }
    catch (FacebookApiException $e)
    {
      error_log($e);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-14
      • 2015-05-09
      • 2013-02-15
      • 2015-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多