我在Android应用和Facebook个人资料之间实现了身份验证。我能够获取登录的用户数据。但是我需要让用户(仅)玩游戏(步骤1)。
到目前为止,这是我的代码:
GraphRequest request = new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/{user-id}/friends",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
public void onCompleted(GraphResponse response) {
}
}
).executeAsync();
从技术上讲,我的回答应该是JSON格式,我应该能够从中获取我需要的内容。但是每当我尝试将我的项目冻结并重新启动时。
对于第二步,你有什么关于如何从我的应用程序发送最高分的建议,以便在Facebook上发布,然后能够检索它并在我让朋友列表玩游戏后显示它吗?
谢谢
答案 0 :(得分:0)
我能够使用线程来解决它。
final GraphRequest request_getFriends = new GraphRequest(
AccessToken.getCurrentAccessToken(),
"/" + AccessToken.getCurrentAccessToken().getUserId() + "/friends?",
null,
HttpMethod.GET,
new GraphRequest.Callback() {
@Override
public void onCompleted(GraphResponse response) {
JSONObject object = response.getJSONObject();
try {
if (object !=null){
JSONArray data = object.getJSONArray("data");
for (int i = 0; i < data.length(); i++) {
String id = data.getJSONObject(i).getString("id");
String name = data.getJSONObject(i).getString("name");
ListOfFriendsIDS.add(id);
ListOfFriendsNames.add(name);
}
}
} catch (JSONException e) {
}
}
}
);
Thread t = new Thread(new Runnable() {
@Override
public void run() {
request_getFriends.executeAndWait();
}
}
);
t.start();
之前的代码是异步执行的,我的结果没有正确获取。
答案 1 :(得分:-1)
使用此GameRequestDialog加载非应用用户的朋友。
GameRequestDialog dialog;
GameRequestContent content = new
GameRequestContent.Builder().
setTitle("title").
setMessage("message").
setFilters(GameRequestContent.Filters.APP_NON_USERS)
.build();
dialog.show(content);
与此同时,通过这个将提供很大的帮助。这是facebook实施的示例项目。
https://github.com/fbsamples/android-friend-smash
希望有所帮助