/v2.1/{post-id}不提供照片

时间:2014-09-02 18:14:01

标签: php facebook facebook-graph-api photos facebook-sdk-4.0

我知道这个问题已被问过几次,但我无法从其他帖子中找到解决方案:

我的目标是从我的一个Facebook网站上阅读Facebook提要! 在该网站上有几个帖子有多张照片。

在你看到的第一个电话中,我总是只收到一张照片,但我需要所有照片。 为此我制作了secound请求,如果我使用v2.1,我将在FacebookRequest.php中更改了该帖子的所有详细信息

这是我的代码:

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'

为什么第一个请求会返回数据,而第一个请求会遇到此异常!

修改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';
...
...

2 个答案:

答案 0 :(得分:0)

如果您需要应用会话,请改用以下内容:

$session = FacebookSession::newAppSession();

然后,您可以将此应用会话传递到API调用中以检索页面Feed。

答案 1 :(得分:0)

这似乎是Facebook的错误。我的同事提出了一个问题。 这是链接: https://developers.facebook.com/bugs/762280800482269/ 你也可以在这里找到一些信息: https://developers.facebook.com/bugs/790976317600139/ 希望它会对你有所帮助。