Facebook图形API - 获取页面通知
问题描述:
我刚刚升级到图形api 2.5和PHP SDK 5.0,它似乎是你的页面通知已经改变的方式。Facebook图形API - 获取页面通知
在过去,我可以打电话:
/{PAGE_ID} /通知
,并得到这样的回应:
{
"id": "notif_12345_12345",
"from": {
"name": "John Doe",
"id": "12345"
},
"to": {
"name": "Page Name",
"category": "Community",
"id": "12345"
},
"created_time": "2015-11-01T16:23:38+0000",
"updated_time": "2015-11-01T18:10:26+0000",
"title": "John Doe and Jane Doe commented on a link you shared.",
"link": "http://www.facebook.com/page/posts/12345?comment_id=12345"
}
完美,正是我想要的。但在2.5我刚刚得到:
{
"data": [
{
"to": {
"name": "Page Name",
"id": "12345"
},
"id": "notif_12345_12345"
},
{
"to": {
"name": "Page Name",
"id": "12345"
},
"id": "notif_12345_67890"
}
}
而我不知道该怎么办呢?我试着做一个请求:
/notif_12345_67890
,但它只是返回相同的信息。
有没有办法在图表api中获取通知的详细信息?
为了完整起见,这里是我用PHP做的事情,虽然响应也可以在图形浏览器中测试。
$sdk = new \Facebook\Facebook([
'app_id' => $app_id,
'app_secret' => $app_secret,
'default_graph_version' => 'v2.5',
]);
$response = $sdk->get($page_id.'/notifications', $access_token);
$graphEdge = $response->getGraphEdge();
// Iterate over all the GraphNode's returned from the edge
foreach ($graphEdge as $graphNode) {
var_dump($graphNode);
}
答
自V2.4,你必须指定你想获得返回的字段:
/{page_id}/notifications?fields=name,title,link
这是一个比较复杂一点与子文档,但我相信这应该工作:
/{page_id}/notifications?fields=name,title,link,to{name,category}
“声明性领域”是什么,是:https://developers.facebook.com/docs/apps/changelog#v2_4
你是对的,解决它。有没有办法看到有哪些可能的领域?通常情况下,图表浏览器允许您在左侧输入一个字段,但不能输入通知 – robjbrain
api参考告诉您确切的字段:https://developers.facebook.com/docs/graph-api/reference – luschn
干杯,被文档弄糊涂了,现在很合理 – robjbrain