FB Graph API查询在PHP SDK中不起作用

Chr*_*ris 5 php facebook-graph-api facebook-php-sdk

图API:2.4
PHP SDK:"facebook/php-sdk-v4":"~5.0"

我想通过PHP和PHP SDK获取有关页面的详细信息.使用查询:

$response = $fb->get('/' . $sPageID . '?fields=posts', $_SESSION['facebook_access_token']);
Run Code Online (Sandbox Code Playgroud)

返回包含大量数据的帖子.但不幸的是错误的值:
例如喜欢的限制25适用于此处.因此,即使一个帖子应该有150个喜欢,如果我这样做,count ($post['likes'])我只会得到25个.

所以我试图改变我的查询,根据Graph Explorer,这似乎工作正常: PAGE_ID/posts?fields=likes.limit(100),message,comments,shares,picture,link,type

现在我无法将其转换为我的PHP调用.我收到超时和

致命错误:未捕获异常'Facebook\Exceptions\FacebookSDKException',消息'无法将响应从Graph转换为GraphNode,因为响应看起来像GraphEdge.尝试使用GraphNodeFactory :: makeGraphEdge()代替.在......

这可能是在PHP中使用一个查询,还是我必须运行多个查询,每个帖子一个?

Ade*_*era 5

我找到了这个答案,并且如果因为此请求的结尾是GraphEdge,请尝试以下操作:

// Get basic info on the user from Facebook.
try {
    $response = $fb->get('/' . $sPageID . '?fields=posts', $_SESSION['facebook_access_token']);

} catch (Facebook\Exceptions\FacebookSDKException $e) {
    dd($e->getMessage());
}
$getGraphEdge = $response->getGraphEdge();
Run Code Online (Sandbox Code Playgroud)

希望对您有所帮助。

问候。