2017-09-16 226 views
0

我正在尝试在facebook上使用图形API为我创建的游戏发布分数。我输入如下:Facebook Graph API Post

方法是POST:

me/score/score=10 

{ 
    "error": { 
    "message": "(#100) At least one reference object must be specified.", 
    "type": "OAuthException", 
    "code": 100, 
    "fbtrace_id": "Aa4wSne7KqK" 
    } 
} 

我能做到这一点,昨天和今天的比分改为100。但是它不工作。

如果我使用get方法来查看我的成绩,这里是我所得到的:因为我是能之前发布的得分

{ 
    "data": [ 
    { 
     "score": 100, 
     "user": { 
     "name": "Nassif Bousaba", 
     "id": "10159173554635214" 
     } 
    }, 
    { 
     "score": 0, 
     "user": { 
     "name": "Nassif Bousaba", 
     "id": "10159173554635214" 
     } 
    } 
    ] 
} 

所有的权限被授予。

+0

'me/score/score = 10' - 请解释一下应该是什么。 – CBroe

+0

POST in id = me,得到分数列表并更新变量分数等于10 @CBroe –

+0

这不是POST参数的工作方式。 – CBroe

回答

0

将代码从请求ExecuteAndWait更改为executeAsync后,这起作用。此外,我不得不将应用程序类型更改为Facebook应用程序设置中的游戏。代码如下android

public void PublishMyScore(String Score) 
{ 
    Bundle params = new Bundle(); 
    params.putString("score", Score); 


    new GraphRequest(
      AccessToken.getCurrentAccessToken(), 
      "/"+AccessToken.getCurrentAccessToken().getUserId()+"/scores/", 
      params, 
      HttpMethod.POST, 
      new GraphRequest.Callback() { 
       public void onCompleted(GraphResponse response) { 
        Log.w("TAG","SCORE ADDED"); 
        Log.w("TAG",response.toString()); 
       } 
      } 
     ).executeAsync(); 
    }