Facebook PHP Graph SDK 5.6无法获取user_likes等数据问题求助
解决Facebook PHP SDK 5.6无法获取user_likes字段的问题
我来帮你排查这个无法获取user_likes字段的问题,主要有几个核心要点需要修正和确认:
字段名称拼写错误:你代码里写的是
users_likes(多了个s),而Graph API中正确的字段名是user_likes,这是导致该字段无法返回的直接原因之一。修正后的请求字段应该是:$response= $fb->get('me?fields=id,name,email,last_name,first_name,gender,locale,user_likes,birthday',$token);缺少必要的权限授权:要获取用户的点赞数据,必须确保两个前提:
- 用户在登录授权时,你的应用请求了
user_likes权限(也就是登录流程的scope参数里要包含这个权限); - 你的Facebook应用已经通过了
user_likes权限的审核(对于v2.11及以后的API版本,很多非公开权限需要提交审核才能正式使用,否则只有应用测试用户能获取到数据)。
- 用户在登录授权时,你的应用请求了
API版本与隐私限制:v2.11版本的Graph API对
user_likes的访问有严格限制:- 只能获取用户设置为公开的点赞内容;
- 如果用户的点赞内容涉及隐私设置或特定类型的页面/内容,可能无法通过API返回。
另外,你可以先调用/me/permissions接口检查当前访问令牌是否包含user_likes权限,确认权限是否正确获取:
$permissionsResponse = $fb->get('me/permissions', $token); $permissions = $permissionsResponse->getGraphNode(); var_dump($permissions);
内容的提问来源于stack exchange,提问作者sf_2018
相关产品推荐
相关产品推荐

