我知道这个问题已经被问过几次,但我无法从其他帖子中找到解决方案:
我的目标是从我的一个 facebook 网站阅读 facebook 提要!在那个网站上有几篇带有多张照片的帖子。
在您看到的第一个电话中,我总是只得到一张照片,但我需要所有照片。为此,我提出第二个请求,如果我使用我在 FacebookRequest.php 中更改的 v2.1,它应该向我提供该帖子的所有详细信息
这是我的代码:
FacebookSession::setDefaultApplication('yyy','xxxxx');
$session = new FacebookSession('yyy|xxxxx');
$url = '/{pageid}/feed';
$request = new FacebookRequest($session, 'GET', $url);
$response = $request->execute();
graphObject = $response->getGraphObject();
$rawFeed = $graphObject->asArray();
foreach($rawFeed['data'] as $item) {
$x = explode('_',$item->id);
$url = "/".$x[0];
$request = new FacebookRequest($session, 'GET', $url);
$response = $request->execute();
$graphObject = $response->getGraphObject();
$object = $graphObject->asArray();
echo "<pre>";var_dump($object);echo "<pre>";
}
如果我使用此代码,我总是会收到错误消息:
Fatal error: Uncaught exception 'Facebook\FacebookAuthorizationException' with message '(#100) Requires user session'
为什么第一个请求返回数据,而scound 遇到了这个异常!
编辑 1
找到了会话问题的解决方案(Facebook Access Token for Pages)-(最佳答案)但仍然停留在照片问题上:
现在我从 Facebook 取回数据,但我没有得到附加到帖子的照片!
在这里我不再遇到身份验证问题
$accessToken = "{accestToken from GRAPH API EXPLORER}";
$session = new FacebookSession($accessToken);
$url = "/{myPersonalFB-ID}/accounts";
$request = new FacebookRequest($session, 'GET', $url);
$response = $request->execute();
$graphObject = $response->getGraphObject();
$pages = $graphObject->asArray();
$pageAccesstoken = false;
foreach($pages['data'] as $page)
{
if($page->id != "{MyPageID}") continue;
else {
$pageAccesstoken = $page->access_token;
}
}
$session = new FacebookSession($pageAccesstoken);
$url = '/{MyPageID}/feed';
...
...