我的应用程序下载所有用户的朋友图片。
所有请求都属于这种类型:
https://graph.facebook.com/<friend id>/picture?type=small
但是,在达到某个限制后,而不是我得到的图片:
{"error""message":"(#4) Application request limit reached","type":"OAuthException"}}
实际上,我发现阻止这种情况的唯一方法是更改服务器IP(手动)。 有没有更好的方法?
答案 0 :(得分:3)
记录:
此限制与图表Api 仅相关,graph.facebook.com/<user>/picture
网址是返回重定向的图表API调用。
因此,为了避免每日限制,只需从FQL中获取所有图像网址,例如:
SELECT uid, pic_small, pic_big, pic, pic_square FROM user WHERE uid = me() or IN (SELECT uid2 FROM friend WHERE uid1=me())
现在这些是图像的直接网址,例如:
http://profile.ak.fbcdn.net/hprofile-ak-snc4/275716_1546085527_622218197_q.jpg
所以不要存储它们,因为它们会不断变化。
答案 1 :(得分:1)
如果在线应用程序需要更好的方式来下载这些图像,但使用在线版本,则有以下几个原因:
<强>更新强>
由于限制是Graph API来电限制,而不是图像检索,我现在想到的另一个解决方案是在图谱API中使用friends user连接并指定图片 字段参数,例如:https://graph.facebook.com/me/friends?fields=picture
,这将返回朋友图片的直接网址,这样您只需拨打一个电话即可获取所有需要的信息以下载图片每个用户......