Получить изображение профиля Facebook через PHP (идентификатор пользователя) / изображение - PullRequest
0 голосов
/ 09 мая 2018

Я работаю на веб-сайте, использующем 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;

1 Ответ

0 голосов
/ 28 мая 2018

Я отвечаю на свой вопрос. Похоже, что Facebook ограничивает изображения профиля. Таким образом, после ряда запросов возвращается null

...