我已经在Facebook上创建了一个应用程序并完成了一些Facebook SDK的实现。
我的目标是从Facebook获取好友列表,并能够从该列表中选择一些好友并将其导入到我的应用程序中。
我该如何做到这一点?
我已经在Facebook上创建了一个应用程序并完成了一些Facebook SDK的实现。
我的目标是从Facebook获取好友列表,并能够从该列表中选择一些好友并将其导入到我的应用程序中。
我该如何做到这一点?
您是否想要获取已登录用户在您的应用中的Facebook好友列表?似乎您需要执行Facebook图请求来获取该列表,然后提取您想要的朋友。
https://developers.facebook.com/docs/graph-api/reference/user/friendlists/
如果您想在Android java中完成此操作,请参考以下示例:
AccessToken token = AccessToken.getCurrentAccessToken();
GraphRequest graphRequest = GraphRequest.newMeRequest(token, new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject jsonObject, GraphResponse graphResponse) {
try {
JSONArray jsonArrayFriends = jsonObject.getJSONObject("friendlist").getJSONArray("data");
JSONObject friendlistObject = jsonArrayFriends.getJSONObject(0);
String friendListID = friendlistObject.getString("id");
myNewGraphReq(friendListID);
} catch (JSONException e) {
e.printStackTrace();
}
}
});
Bundle param = new Bundle();
param.putString("fields", "friendlist", "members");
graphRequest.setParameters(param);
graphRequest.executeAsync();
"成员"是"好友列表"中的一条边,因此您可以使用您的好友列表ID发出新请求,以获取该特定好友列表的成员。 https://developers.facebook.com/docs/graph-api/reference/friend-list/members/
private void myNewGraphReq(String friendlistId) {
final String graphPath = "/"+friendlistId+"/members/";
AccessToken token = AccessToken.getCurrentAccessToken();
GraphRequest request = new GraphRequest(token, graphPath, null, HttpMethod.GET, new GraphRequest.Callback() {
@Override
public void onCompleted(GraphResponse graphResponse) {
JSONObject object = graphResponse.getJSONObject();
try {
JSONArray arrayOfUsersInFriendList= object.getJSONArray("data");
/* Do something with the user list */
/* ex: get first user in list, "name" */
JSONObject user = arrayOfUsersInFriendList.getJSONObject(0);
String usersName = user.getString("name");
} catch (JSONException e) {
e.printStackTrace();
}
}
});
Bundle param = new Bundle();
param.putString("fields", "name");
request.setParameters(param);
request.executeAsync();
}
在Facebook Graph请求的文档中,您可以查看有关用户对象可以完成什么操作的内容。不幸的是,我没有足够的声誉来发布另一个链接。
请记住,用户必须使用Facebook登录才能获得所需的访问令牌来执行这些操作。
希望这个回答与您的期望有些相似。
编辑:此方法不再起作用,关于好友列表的第一个链接显示自2018年4月4日起已被弃用。