sphotos.xx.fbcdn.net全尺寸图片的问题

时间:2012-03-11 07:05:33

标签: facebook image profile

我遇到了导致此问题的原因。如果我以我的帐户登录,则下面的代码不会显示用户:100000920350966但如果我退出&回到我妻子的帐户,我现在可以看到用户个人资料图片。

登录我的FB帐户时出错: http://sphotos.xx.fbcdn.net/hphotos-snc6/230962_10150332269178009_784368008_9751025_7802946_n.jpg

一个有效的例子: http://a4.sphotos.ak.fbcdn.net/hphotos-ak-ash4/419763_10151360491990078_877370077_23594484_2739927_n.jpg

我正在使用的代码是PHP SDK和这个用于获取图像的部分:

function randomUser() {
$query = mysql_query("SELECT the_facebook_id FROM users WHERE the_facebook_id != '$facebook_id' ORDER BY RAND() LIMIT 0,1");
 $result = mysql_fetch_array($query);
 mysql_close();
 return $result; }

$theuser = randomuser();


$albums = $facebook->api('/' . $theuser[0] . '/albums');
    foreach($albums['data'] as $album){
    if ($album['type'] == 'profile'){
    $photos = $facebook->api('/' . $album['id'] . '/photos');

    $random_pic = $photos['data'][0]['source'];

    }
}

echo "<br /><br />The User: " . $theuser[0] . "<br />";
echo "Photo Source: " . $photos['data'][0]['source'] . "<br />";
echo "THE PHOTO HEIGHT: " . $photos['data'][0]['height'] . "<br />";
echo "THE PHOTO WIDTH: " . $photos['data'][0]['width'] . "<br />";

老实说,我不知道在我的帐户中什么时候我看不到特定的个人资料照片,但在我妻子的照片中,我可以看到所有这些照片。非常感谢所有帮助!

干杯

1 个答案:

答案 0 :(得分:0)

有趣的案例你已到达那里。

我不能告诉你什么是错的,但是我有一个猜测分为两个选项。 有问题的网址是针对静态内容的,因此内容不依赖于当前用户。 但是,该url是一个cdn,这意味着你获得的内容的副本(可能)与我得到的副本不同,这解释了当我看到图片时你是如何得到错误的对于同一个网址。

两个选项:

  1. 您所导向的cdn根本不可用,因此您询问的所有图片都会导致页面找不到错误。尝试ping sphotos.xx.fbcdn.net ,看看你得到了什么。

  2. 您被定向到的cdn没有您尝试获取的图像的副本,可能由于某种原因在文件传播到服务器时发生错误。

  3. 这只是一个猜测当然,无论如何我建议你file a bug report并让facebook团队查阅,但是他们可能需要一些时间来检查它/做些什么。