我试图为我的游戏创建一个Facebook排行榜。我已经阅读了他们的教程(Facebook)。然而,似乎这是使用api的另一个版本。 我正在使用图形api,感谢查看文档并在网络上创建了这个:
new GraphRequest(AccessToken.getCurrentAccessToken(),
//First get the users ID
"/me",
null,
HttpMethod.GET,
new GraphRequest.Callback(){
public void onCompleted(GraphResponse response){
Log.e("GET", "facebookresponse: " + response.toString());
try{
JSONObject json = response.getJSONObject();
userID = json.getLong("id");
new GraphRequest(AccessToken.getCurrentAccessToken(),
//Then get the score
"/" + userID + "/scores",
null,
HttpMethod.GET,
new GraphRequest.Callback(){
public void onCompleted(GraphResponse response1){
Log.e("GET", response1.toString());
}
}).executeAsync();
}catch (JSONException e){
Log.e("GET", "JSONException: " + e.getMessage());
}
}
}).executeAsync();
为了得到一名球员的得分。但是我只获得了一个JSONArray用户(大小为1,但我认为这是因为我目前只测试一个用户)
我根据StackOverflow问题尝试添加?fields=id,name,email,score
:question,我只得到了一个2500错误代码(错误的行尾)。
以下是我用来发布该用户得分的代码:
new GraphRequest(AccessToken.getCurrentAccessToken(),
"/me",
null,
HttpMethod.GET,
new GraphRequest.Callback(){
public void onCompleted(GraphResponse response){
Log.e("GET", "facebookresponse: " + response.toString());
try{
JSONObject json = response.getJSONObject();
userID = json.getLong("id");
Bundle params = new Bundle();
params.putInt("score", 21);
new GraphRequest(AccessToken.getCurrentAccessToken(),
"/" + userID + "/scores",
params,
HttpMethod.POST,
new GraphRequest.Callback(){
public void onCompleted(GraphResponse response) {
Log.e("GET", "post respose: " + response.toString());
}
}).executeAsync();
}catch (JSONException e){
Log.e("GET", "JSONException: " + e.getMessage());
}
}
}).executeAsync();
当我执行graphRequest时的响应是成功:true。 显然,一个人有效。
我现在完全迷失了,迫切需要一些帮助,除了上面提到的文档,上面提到的页面以及上面提到的页面之外,我还没有真正设法在互联网上找到任何帮助。错误的版本。 提前谢谢!