如何在Facebook上检测默认头像?

Krz*_*ski 3 facebook avatars avatar facebook-graph-api ios

如何检测这样的链接默认的头像:https://graph.facebook.com/'.$id.'/picture?type=large?它是从特殊准备的配置文件中获取头像(男/女)然后通过例如md5()进行比较的唯一方法吗?

很难相信这是唯一的方法.

kac*_*har 20

您可以使用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
   }
}
Run Code Online (Sandbox Code Playgroud)

您可以使用该is_silhouette选项检测照片是否为默认照片.

您可以在以下网址阅读更多信息:https://developers.facebook.com/docs/reference/api/using-pictures/


bka*_*aid 6

您无法使用API​​来判断他们是否使用默认照片.您可以向该配置文件URL发出HTTP HEAD请求,然后查看Location标头并查看该URL是否为已知的默认配置文件映像,而不是下载整个映像并检查MD5 :

男: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/yL/r/HsTZSDw4avx.gif

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

在此输入图像描述

我想这些URL可能会改变,默认照片也可以改变,但我没有看到任何一个我记得的情况.

  • 我赞成这个darth vader评论.做得好! (7认同)
  • 只需使用is_silhouette (3认同)