我使用它来检索用户照片,但它总是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
是一个充满数据的数组,但不是我要找的照片信息。
有什么想法吗?
答案 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然后我得到该专辑中所有照片的数组..