2012-04-12 3 views
0

Ich benutze das Javascript SDK, um Punkte zu FB zu posten, aber es gibt mir Fehler ({error: {message: "(# 15) Diese Methode muss mit einer App access_token aufgerufen werden . "Typ:" OAuthException“, code: 15}}):Facebook Javascript SDK - Nicht in der Lage, Punkte zu posten

I accessToken kommen aus folgenden bin mit:

FB.getLoginStatus(function(response) { 
     if (response.status === 'connected') { 
     // the user is logged in and has authenticated your 
     // app, and response.authResponse supplies 
     // the user's ID, a valid access token, a signed 
     // request, and the time the access token 
     // and signed request each expire 
     uid = response.authResponse.userID; 
     accessToken = response.authResponse.accessToken; 

Die Funktion i-Score bin mit werden.Dies ist folgende:

FB.api("uid/scores", 'post', {score: scoredata, access_token: accessToken }, 
      function(response) 
     { 
      if (!response || response.error) { 
       console.error(response); 
      } else { 
       console.log(response); 
      } 
     }); 

Kann mir bitte jemand eine Idee geben, da fb ist fehlende Dokumente speziell für JAvascript.

Jacob

Antwort

0

Es ist wegen der Tatsache, dass Partituren als Anwendung gebucht werden sollten nicht als Benutzer.

Was Sie versuchen, sollte mit Application access_token und von Server-Seite (nicht JavaScript im Browser) getan werden, so dass Ihre Anwendung Geheimnis wird nicht enthüllt.

+0

Nein, es ist nicht deswegen. –

0

Für die Veröffentlichung von Ergebnissen auf Facebook-Spielen mit Benutzerzugriffstoken müssen Sie in diesem Aufruf kein Access Token mehr übergeben, es würde auch funktionieren, aber nicht notwendig. Der Fehler in Ihrem Code ist, dass FB.api mit/nach dem "vor mir" aufgerufen werden muss, und ich denke, dass Sie ME anstelle der Benutzer-ID verwenden müssen.

FB.api('/me/scores/', 'post', { scores: score }, function(response) { 
    if(response.error) { 
     console.error('Failed',response); 
    } else { 
     console.log('Posted', response); 
       }  
    }); 

Sie benötigen publish_actions Erlaubnis für die Buchung und dies immer den neuen Score-Wert einrichten, funktioniert nur für High Score, wenn Sie Code .. Benutzer Noten zu bekommen, user_game_activities und verwenden JavaScript zum Vergleichen von Werten, dann post, wenn der neue Wert größer ist.

Sie können auch hohe Punktzahlen mit dem App-Token festlegen, indem Sie einen anderen Anruf verwenden. Ich hatte dies verwendet, um die Benutzer Credits in einem Spielautomaten Spiel zu speichern, und ich fand, dass speichern und erhalten die Ergebnisse viele Male, um es zwischen zwei oder mehr Spielsitzungen aktualisiert und gespeichert zu halten. Ich habe auch die Echtzeit Facebook Game Scores Rangliste, und es funktioniert auch ohne app access token, weil es relacional ist, und zeigt nur Ihre Freunde Scores.

Das ist, wie ich es mache, und ich liebe es, Facebook-Plattform ist genial.

Realtime Facebook Game Scores Leaderboard

Verwandte Themen