Тестирование, если пользователь разместил изображение профиля на Facebook и, если да, то его поиск? - PullRequest
1 голос
/ 25 мая 2011

Каков правильный способ проверки того, что пользователь вставил изображение профиля в Facebook (то есть изображение не по умолчанию), и если да, то для его получения?

Это: Как определить, загрузил ли пользователь Facebook изображение профиля или его значение по умолчанию? говорит о методе, но сам автор говорит, что это плохой метод:

public static function hasProfilePicture($fbuid) 
{
    /* Really stupid method to test if Facebook user has real profile picture
    * based on FB returning a gif when you request a large photo.  
    * Use with care - for every profile there's an outgoing request! */ 
    $r = get_headers("http://graph.facebook.com/$fbuid/picture?type=square"); 
    return !array_search("Content-Type: image/gif",$r);
}

1 Ответ

1 голос
/ 04 августа 2011

Если у пользователя есть фотография профиля, к ней можно получить доступ через http://graph.facebook.com/<facebook username>/picture. Например, http://graph.facebook.com/gauravgupta.in/picture перенаправляет на определенный URL-адрес и показывает мое изображение профиля Facebook.

Однако, если у пользователя нет изображения профиля, вышеуказанный URL-адрес перенаправляется на URL-адрес стандартного изображения заполнителя, который в настоящее время равен http://profile.ak.fbcdn.net/static-ak/rsrc.php/v1/yo/r/UlIqmHJn-SK.gif

Это определенно ненадежный способ, но он будет работать, пока Facebook не решит изменить его.

...