验证用户是否放入了Facebook个人资料图片(即非默认图片)的正确方式是什么?如果是,请检索它?
这:How to determine if a Facebook user has uploaded a profile picture or its default?谈论一种方法,但作者自己说这是一种不好的方法:
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);
}
答案 0 :(得分:1)
如果用户有个人资料照片,可以通过http://graph.facebook.com/<facebook username>/picture
访问该照片。例如,http://graph.facebook.com/gauravgupta.in/picture重定向到特定网址并显示我的Facebook个人资料图片。
但是,如果用户没有个人资料照片,则上述网址会重定向到标准占位符图片的网址,该网址目前为http://profile.ak.fbcdn.net/static-ak/rsrc.php/v1/yo/r/UlIqmHJn-SK.gif
这绝对不是一种可靠的方式,但在Facebook决定改变之前一直有效。