Facebook Graph API v14.0 /me/friends接口返回data为空问题咨询
Facebook Graph API
/me/friends 返回空data排查方案 接口返回summary.total_count=1说明后端已经识别到存在1位符合user_friends权限可见范围的好友,data为空属于配置或同步类问题,按以下顺序排查即可:
- 校验授权绑定的应用一致性
测试用户的user_friends授权是和具体应用ID强绑定的,如果中途重置过应用配置、给测试用户授权时选错了应用,会出现“看似授权实际不属于当前应用”的情况。分别用两个测试用户的access_token调用/me?fields=id,installed接口,确认两个用户返回的installed字段为true,且接口关联的应用ID和你当前调用的应用ID完全匹配。 - 校验access_token的权限和归属
你当前请求里用的user_token必须是用户级有效访问令牌,不能是应用令牌、测试用户的旧过期令牌。拿当前使用的token调用/me/permissions接口,确认返回列表中user_friends权限状态为granted,同时核对接口返回的用户ID,避免拿混两个测试用户的token。 - 校验测试用户好友关系的双向有效性
如果测试用户的好友关系是通过接口批量创建、或者面板操作时仅触发了单向好友申请,会出现面板显示互为好友、实际关系未双向生效的问题。分别用两个用户的token调用/me/friends接口查看summary.total_count,如果两个返回值不一致,就说明好友关系单向,需要删除现有好友关系后重新双向添加,添加完成后等待2-3分钟待关系数据同步。 - 补全接口请求的fields参数
v14.0版本的Graph API不会默认返回好友对象的任意字段,未指定fields时部分权限配置场景下会直接返回空data数组。把请求调整为明确声明返回字段的格式再试:curl -i -X GET "https://graph.facebook.com/v14.0/me/friends?fields=id,name&access_token=替换为实际有效的用户访问令牌" - 等待测试环境数据同步
测试用户的授权变更、好友关系变更后,Graph后端的索引数据同步最长需要5分钟,刚完成配置就立刻调用接口很容易出现计数和返回数据不一致的问题,等待5分钟后重试即可。
内容的提问来源于stack exchange,提问作者Akshay Nagpal
相关产品推荐
相关产品推荐

