我对两者感到困惑。 在我的例子中,我尝试从FB页面获取数据并获得此代码:
3
array(2) { [0]=> int(1) [1]=> int(2) }
1
array(0) { }
1
array(0) { }
1
array(0) { }
1
array(0) { }
1 ...
...
try {
$response = $fb->get('/' . $sPageID . '?fields=posts', $_SESSION['facebook_access_token']);
$responseFeed = $fb->get('/' . $sPageID . '/feed', $_SESSION['facebook_access_token']);
} catch (Facebook\Exceptions\FacebookSDKException $e) {
echo "catch";
dd($e->getMessage());
}
$graphEdge = $responseFeed->getGraphEdge();
$tester = $response->getGraphNode();
echo "<pre>";
print_r ( $tester );
echo "</pre>";
和$response
包含数据。但是以后只有$responseFeed
包含数据。 $tester
是空的。
$graphEdge
提供了一种方法:$tester
但返回值也是空的。这种情况发生在不同的网址上,例如getParentGraphEdge()
或/pageID
或/pageID?field=posts
何时使用getGraphEdge?为什么它不起作用?
答案 0 :(得分:0)
你如何使用这些功能是正确的方法。请求节点时使用getGraphNode()
,边缘使用getGraphEdge()
。
我不知道边缘为空的原因,但尝试使用/{page-id}/feed
中的访问令牌在Graph API Explorer上执行您的请求($_SESSION['facebook_access_token']
),也许是结果只是空着。