有人试过订阅页面进行实时更新吗?我希望在页面的Feed下出现新的墙贴时收到通知。
Facebook文档说这是可能的,但从未见过有人在此之前完成此任务。
https://developers.facebook.com/docs/reference/api/realtime/
答案 0 :(得分:3)
您需要获取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
现在,只要页面发生变化,您就会收到回调网址的请求。该请求看起来像。
{
"object": "page",
"entry": [
{
"id": "408518775908252",
"time": 1360643280,
"changes": [
{
"field": "feed",
"value": {
"item": "like",
"verb": "add",
"user_id": 5900878
}
}
]
}
]
}
希望这有帮助。
答案 1 :(得分:1)
从页面对象订阅实时更新后,您只会从已添加应用的页面收到通知。
就像您只收到已经为您的应用程序授权的用户发送通知一样,将应用程序添加到页面作为选项卡相当于对您的应用程序进行authing的页面。
有关如何向网页添加应用的信息,请参阅https://developers.facebook.com/docs/appsonfacebook/pagetabs/。
答案 2 :(得分:1)
试试这个:
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);
}