2017-09-16 8 views
0

Ich versuche, eine Punktzahl auf Facebook mit Graph API für ein Spiel, das ich erstellt habe, zu posten. Meine Eingabe ist die folgende:Facebook Graph API Beitrag

Methode ist POST:

me/score/score=10 

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

ich es konnte gestern tun, und die Partitur geändert 100. Allerdings ist es heute nicht arbeiten.

Wenn ich die get-Methode verwenden, um meine Punktzahl zu sehen, hier ist das, was ich bekommen:

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

Alle Berechtigungen erteilt wurden, da ich in der Lage war, bevor die Partitur zu schreiben.

+0

'me/score/score = 10' - bitte erklären, was das sein soll. – CBroe

+0

POST in id = me, erhalte die Scoreliste und aktualisiere den variablen Score auf 10 @CBroe –

+0

So funktionieren die POST-Parameter nicht. – CBroe

Antwort

0

Dies funktionierte nach dem Ändern des Codes von Anforderung ExecuteAndWait zu executeAsync. Außerdem musste ich den Anwendungstyp in den Facebook-Anwendungseinstellungen auf "Spiel" umstellen. Code ist unten für 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(); 
    }