gpt4 book ai didi

Android 获取已下载应用的 Facebook 好友

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:18:08 31 4
gpt4 key购买 nike

我正在使用 Facebook Android SDK。有没有一种简单的方法可以让用户的 friend 下载该应用程序?例如,应用程序 Draw Something 实现了这一点。我似乎找不到关于这个主题的任何信息

我想如果可能的话,httppost 中需要一些额外的信息来访问这些信息。

最佳答案

* 注意:从 3.14 版本开始,我/ friend 只会返回同样使用该应用程序的 friend ,因此不推荐使用以下实现。请参阅新的“Invitable Friends”或“Taggable Friends”API 以了解替代方案。

使用新的 Android 版 Facebook SDK (3.0) 可以很容易地获取用户的好友列表。以下是代码:

private void requestFacebookFriends(Session session) {
Request.executeMyFriendsRequestAsync(session,
new Request.GraphUserListCallback() {
@Override
public void onCompleted(List<GraphUser> users,
Response response) {
// TODO: your code for friends here!
}
});
}

然而,为了获得正在使用您的 Facebook 应用程序的用户 friend 有点复杂(由于 Facebook API 文档)。但是是的,这是可能的

首先,创建您的请求:

private Request createRequest(Session session) {
Request request = Request.newGraphPathRequest(session, "me/friends", null);

Set<String> fields = new HashSet<String>();
String[] requiredFields = new String[] { "id", "name", "picture",
"installed" };
fields.addAll(Arrays.asList(requiredFields));

Bundle parameters = request.getParameters();
parameters.putString("fields", TextUtils.join(",", fields));
request.setParameters(parameters);

return request;
}

请注意,您需要在请求中插入字段“已安装”。我正在请求具有相同请求的用户图片路径。检查您的可能性 here .

接下来,您可以使用上面的代码创建您的请求,然后获取您的 friend :

private void requestMyAppFacebookFriends(Session session) {
Request friendsRequest = createRequest(session);
friendsRequest.setCallback(new Request.Callback() {

@Override
public void onCompleted(Response response) {
List<GraphUser> friends = getResults(response);
// TODO: your code here
}
});
friendsRequest.executeAsync();
}

请注意,使用此通用请求,您不会收到 GraphUser 列表作为响应。您需要使用以下代码来获取作为 GraphUser 列表的响应:

private List<GraphUser> getResults(Response response) {
GraphMultiResult multiResult = response
.getGraphObjectAs(GraphMultiResult.class);
GraphObjectList<GraphObject> data = multiResult.getData();
return data.castToListOf(GraphUser.class);
}

现在您可以使用您用户的 friend 列表,以及您的每个 friend 是否使用您的 Facebook 应用程序的信息:

GraphUser user = friends.get(0);
boolean installed = false;
if(user.getProperty("installed") != null)
installed = (Boolean) user.getProperty("installed");

关于Android 获取已下载应用的 Facebook 好友,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10198965/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com