Я работаю на веб-сайте, использующем PHP SDK для получения информации о пользователе, включая пользовательскую картинку.
{user-id}/picture
перестает работать, когда я получаю трафик.
Я получаю нулевой ответ от Facebook, когда у меня хороший трафик.
Под нулевым ответом я имею в виду, что они ничего не возвращают. Просто пустая страница.
Facebook говорит, что они не разрешают использовать PHP для сохранения изображений.
Общая идея заключается в том, что вы не должны загружать изображения профиля в
ваш сервер, например, с помощью кода PHP. Вместо этого вы должны получить
URL изображения (например, из заголовка перенаправления) и отображения
это с помощью тега изображения на стороне клиента
Но большие сайты, такие как nametests (dot) com, каким-то образом получают изображение пользователя.
Вот пример кода, который я использую для получения изображения профиля (по крайней мере, когда он работает)
function get_file($url) {
//$url=$url."&token=".$this->token;
$options = array(
'http' => array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n".
"User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2\r\n"
)
);
$context = stream_context_create($options);
$data = "";
$data = @file_get_contents($url, false, $context);
return $data;
}
$im = get_file("http://graph.facebook.com/897924100371841/picture");
echo $im;