我正在努力使用Facebook SDK 3.0获取我所有的Facebook好友列表 我不想使用FriendPickerFragment,因为我不想显示选择器,我想创建自己的朋友列表(显示名称和图像)。
根据这篇文章Facebook friends list returns empty,这可能只有在朋友批准你的应用程序时才有可能,但即使我和我妻子的帐户和我的帐户一起尝试过,我仍然无法获得朋友列表。
任何帮助都将受到高度赞赏,我花了很多时间在这上面并达成死锁。
谢谢!
答案 0 :(得分:1)
前提条件:
1.在facebook上创建一个应用程序
2.将android app的哈希码添加到facebook app。
Android应用:
获得许可(在您创建fb app的fb帐户上)
authButton.setReadPermissions(Arrays.asList("basic_info, user_friends"));
authButton是com.facebook.widget.LoginButton(您可以参考示例应用以了解登录按钮的工作原理)
获取好友列表的方法:
Request r = new Request(session, "/me/friends", null,HttpMethod.GET, new Request.Callback() {
@Override
public void onCompleted(Response response) {
try {
GraphObject graphObj = response.getGraphObject();
if(graphObj != null){
ArrayList<FBFriend> friendArrayList = new ArrayList<FBFriend>();
JSONObject jsonObj = graphObj.getInnerJSONObject();
JSONArray array = jsonObj.getJSONArray(DATA_NODE);
for(int i = 0; i < array.length(); i++){
JSONObject Jobj = (JSONObject)array.get(i);
String id = Jobj.getString(FBFriend.ID_NOTE);
String name = Jobj.getString(FBFriend.NAME_NOTE);
FBFriend f = new FBFriend(id, name);
friendArrayList.add(f);
}
}
}
}
});
r.executeAsync()