Facebook SDK照片返回空白数组

时间:2010-12-23 09:20:26

标签: php facebook

我使用它来检索用户照片,但它总是print_r是一个空白数组:

$facebook = new Facebook(array(
  'appId'  => 'XXX',
  'secret' => 'XXX',
  'cookie' => true,
));

if ($facebook->getSession()) {
    try {           
        $profile = $facebook->api('/me/photos');
        echo "<pre>";
        print_r($profile);

    } catch (FacebookApiException $e) {
        echo $e->getMessage();
        exit();
    }
}
else {
    $login_url = $facebook->getLoginUrl(array(
        'next' => 'XXX',
        'cancel_url' => 'XXX',
        'req_perms' => 'user_about_me,user_location,user_hometown,user_birthday,user_interests,user_likes,user_photos'
    ));

    echo '<a href="'.$login_url.'">Click here to login</a>';
}

如果我使用:

$profile = $facebook->api('/me');

print_r是一个充满数据的数组,但不是我要找的照片信息。

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。我的解决方案:

$facebook->api('/me/albums?access_token=' . $session['access_token']);

希望现在还不晚!

答案 1 :(得分:1)

当你获得facebook会话时,你也会收到一个访问令牌。您必须使用它来发出有效的api请求。所有非公开信息都需要该令牌。用法示例:

$session = $facebook->getSession();
// var_dump($session) to see it's content
$facebook->api('/me/photos?access_token=' . $session['access_token']); 

如果这样做,你仍然会获得空数据,也许该用户没有任何照片。

祝你好运!

答案 2 :(得分:0)

试试https://graph.facebook.com/ $ album_id / photos

我不确定为什么我/照片会返回空数组。可能它意味着别的东西,可能是我被标记的照片或其他东西。对我来说,它一致地返回空数组。但是当我尝试访问graph.facebook.com/$album_id/photos然后我得到该专辑中所有照片的数组..

相关问题