Facebook应用范围用户ID正确使用求助:获取头像报错问题
解决Facebook Graph API获取用户头像失败的问题
我来帮你梳理下这个问题,这种情况我之前处理过好几次,大概率是access_token的使用方式出了问题,咱们一步步来排查:
别用应用级令牌调用用户头像接口
你现在用的appID|secret是应用级别的access_token,虽然它能调用一些应用相关的接口,但Graph API现在对这种令牌访问用户个人资料(比如头像)有严格限制,很容易触发"Unsupported request"这类错误。正确的做法是使用用户授权后生成的用户级access_token——就是用户A、B登录你的应用时,你拿到的那个短期令牌(如果需要长期使用,可以换成长期令牌)。确认权限是否到位
虽然public_profile权限(包含用户头像)是Facebook登录的默认权限,但还是要检查下你的应用在用户登录时,是否明确请求了这个权限。如果没请求的话,即使用户级令牌也可能无法获取头像数据。修正请求链接格式
换成用户级令牌后,请求链接应该是这样的:https://graph.facebook.com/IdA/picture?type=small&access_token=USER_ACCESS_TOKEN把
USER_ACCESS_TOKEN替换成用户A登录后你获取到的实际令牌即可。额外排查点
如果还是不行,建议你把完整的错误信息贴出来(你提到的"Unsup..."应该是截断了,完整信息能帮我们更精准定位)。另外,也可以确认下用户A的Facebook头像隐私设置,是否允许你的应用访问,但一般默认是公开可见的,这个概率比较小。
内容的提问来源于stack exchange,提问作者Sandro Rossetti
相关产品推荐
相关产品推荐

