user_id / scores仅返回用户对象facebook graph api

时间:2015-09-25 10:27:57

标签: java android facebook facebook-graph-api leaderboard

我试图为我的游戏创建一个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,scorequestion,我只得到了一个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。 显然,一个人有效。

我现在完全迷失了,迫切需要一些帮助,除了上面提到的文档,上面提到的页面以及上面提到的页面之外,我还没有真正设法在互联网上找到任何帮助。错误的版本。 提前谢谢!

0 个答案:

没有答案