[英]Facebook Friends Request - Missing Friends
我正在请求从我正在开发的Android应用程序中获取用户朋友。 从Facebook Api V2.0开始,我知道我应该只获得已通过我的应用程序登录的用户朋友。 但是,虽然我知道用户的某些朋友已通过我的应用程序登录,但在请求该用户的朋友时,他们不会出现在Facebook请求响应中。 例如,我找回了40个朋友而不是50个以上。
以前有没有人经历过这种行为? 我已经从少数用户删除了应用程序,通过登录重新授权,但我没有看到任何行为的变化。
这是我正在使用的代码:
new Request(ParseFacebookUtils.getSession(),"me/friends", null, null, new Request.Callback(){
@Override
public void onCompleted(Response response) {
if (response == null){
return;
}
else if (response.getError() != null){
response.getError().getException().printStackTrace();
return;
}
GraphMultiResult result = response.getGraphObjectAs(GraphMultiResult.class);
List<GraphObject> fbInList = result.getData();
if (fbInList != null && !fbInList.isEmpty()){
for (GraphObject user : fbInList) {
JSONObject jsonUser = user.getInnerJSONObject(); // The Facebook User
System.out.println("name: " + jsonUser.optString("name"));
}
}
}
}).executeAsync();
我发现了什么问题。 当我更新到最新的Facebook SDK时,Facebook只返回了25个朋友。 我需要使用分页或为我的朋友请求添加限制。 在以前的SDK上我不需要。
添加限制:
Bundle params = new Bundle();
params.putString("limit", "50"); // Up to 5000?
friendRequest.setParameters(params);
相关的Stack Overflow问题:
Facebook图形API'朋友'请求现在每页只返回25个朋友? 这是怎么回事?
newMyFriendsRequest Facebook仅返回25位朋友
分页的有用Facebook链接:
https://developers.facebook.com/docs/graph-api/using-graph-api/v2.2#paging
该文档的相关部分就是这个
在API的v2.0中,我无法获得已登录我的应用程序的人的完整好友列表 - 有没有办法获得完整的朋友列表?
使用Graph API v2.0及更高版本,对
/me/friends
调用仅返回同时使用您的应用的朋友。 这些朋友也必须授予user_friends
权限 。 如果您希望让人们在您的应用发布的故事中标记他们的朋友,您可以使用Taggable Friends API。 如果您想邀请别人加入您的应用,我们会根据您构建的应用类型和您构建的平台提供多种解决方案。 有关更多信息,请参阅我们关于邀请朋友的问题。
因此,只有朋友使用您的应用程序,他们也应该有授权user_friends
否则你不会得到他们的详细信息。 你做过这个吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.