Facebook实时更新:订阅页面

Facebook实时更新:订阅页面

问题描述:

任何人都试图订阅实时更新的页面?例如,当一个新的墙贴出现在页面的Feed中时,我希望得到通知。Facebook实时更新:订阅页面

Facebook的文件说,这是可能的,但从来没有见过任何人做到了这一点。

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

+0

这可能会给出一个完整的流程的想法:http://tech-brains.blogspot.in/2015/04/real-time-updates-for-facebook-page.html – RAJ

一旦从页面对象订阅实时更新,你只会从中增加了您的应用程序自己网页获得通知。

就像你只能从谁已经auth'd应用的用户通知,添加应用程序的页面作为一个选项卡是正在授权您的应用程序页面的等价物。

参见如何将应用程序添加到页面https://developers.facebook.com/docs/appsonfacebook/pagetabs/

+0

该应用是否需要添加作为一个标签?我已经向我的页面添加了一个应用程序,但它没有单独的选项卡。 – SarpErdag

+0

是的,它必须作为一个选项卡添加。 – CBroe

+0

您不必将它添加为选项卡,只需通过页面/选项卡边缘进行安装即可。正如[Documentation](https://developers.facebook.com/docs/graph-api/reference/v2.1/page/tabs/)所述,不需要将应用程序配置为页面选项卡应用程序应用程序仪表板。如果未配置该应用程序,则该应用程序将只安装在该页面中,而不是作为选项卡添加。如果您正在订阅来自页面的实时更新,这非常有用。 – achecopar

试试这个:

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); 
} 

你需要得到page_accesstoken然后添加应用程序作为一个选项卡。您可以通过 获取管理员的用户访问令牌,其范围= 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 
        } 
       } 
      ] 
     } 
    ] 
} 

希望这会有所帮助。