如何检测链接上的默认头像:https://graph.facebook.com/'.$id.'/picture?type=large?这是从特殊准备的配置文件中获取头像(男性/女性)然后通过例如md5()进行比较的唯一方法吗?
很难相信这是唯一的办法。
发布于 2013-11-09 19:25:31
您可以使用redirect=false参数:
https://graph.facebook.com/naitik/picture?redirect=false
然后facebook的响应是json,其中包含以下数据:
{
"data": {
"url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn1/157337_5526183_369516251_q.jpg",
"is_silhouette": false
}
}您可以使用is_silhouette选项来检测照片是否为默认照片。
有关更多信息,请访问:https://developers.facebook.com/docs/reference/api/using-pictures/
发布于 2012-05-26 00:52:47
你不能调用API来判断他们是否使用默认的照片。无需下载整个图像并检查MD5,您可以向该配置文件URL发出HTTP HEAD请求,并查看Location标头,看看该URL是否是已知的默认配置文件图像之一:
男:https://fbcdn-profile-a.akamaihd.net/static-ak/rsrc.php/v2/yL/r/HsTZSDw4avx.gif

女(达斯·维德):https://fbcdn-profile-a.akamaihd.net/static-ak/rsrc.php/v2/yp/r/yDnr5YfbJCH.gif

我想这些URL可能会改变,默认的照片也可能会改变,但据我所知,这两种情况我都没见过。
发布于 2016-08-04 09:37:25
如果你已经在调用Graph API来获取像头像这样的用户数据,那么当你第一次调用Graph API时,只需在fields参数中包含picture,那么响应将包括is_silhouette偏移量,如果它被设置为true,则用户拥有默认的头像。
请求:
https://graph.facebook.com/v2.7/me?access_token=[token]&fields=name,picture响应:
{
"id": "100103095474350",
"name": "John Smith",
"picture": {
"data": {
"is_silhouette": true,
"url": "https://scontent.xx.fbcdn.net/v/...jpg"
}
}
}https://stackoverflow.com/questions/10756323
复制相似问题