2017-09-16 222 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(); 
    }