2016-04-08 13 views
0

I sdk Version 7.4 verwende, wenn ich die Partitur ich diese Fehlermeldung erhalten, schreibenFacebook Graph api: Param-Score muss eine ganze Zahl sein

Punktzahl in der fb geschrieben { "Fehler": { "message": "(# ": "OAuthException", "Code 100) Param-Score muss eine ganze Zahl“," Typ sein": 100, "fbtrace_id": "ElqTb0bxXz4"}}

Concerned-Code

var scoreData = new Dictionary<string ,string>(); 
    scoreData ["score"] = UnityEngine.Random.Range (10f, 500f).ToString(); 
    FB.API("/me/scores?fields=",HttpMethod.POST,delegate(IGraphResult result){ 
    Debug.Log("score posted to the fb"+result.RawResult.ToString()); 


    },scoreData); 

vorschläge oder Antwort wird geschätzt

Antwort

0
var scoreData = new Dictionary<string ,int>(); 
    scoreData ["score"] = UnityEngine.Random.Range (10, 500); 
    FB.API("/me/scores?fields=",HttpMethod.POST,delegate(IGraphResult result){ 
    Debug.Log("score posted to the fb"+result.RawResult.ToString()); 


    },scoreData); 
+0

habe es nicht versucht, nur aus der Fehlermeldung zu erraten –

+0

Argument '# 4' Ausdruck' System.Collections.Generic.Dictionary nicht konvertieren kann ‚' UnityEngine.WWWForm‘ – dreamer1989

+0

oh ok, dann versuchen, dies zu geben: var scoreData = new Dictionary (); scoreData ["score"] = UnityEngine.Random.Range (10, 500) .ToString(); –

0

Ich hatte diesen gleichen Fehler und ich habe es heute behoben.

Das Problem ist Ich konvertierte keine Integer-Klasse in Zeichenfolge. Das Problem könnte sein, dass Ihre Ergebnisse als Float gespeichert werden, und wenn Sie sie ToString konvertieren, konvertieren sie als 2.00, also nicht ein int wie Facebook fordert.

habe ich eine Variable:

int intScore = (int)myScore. 

Und dann fügte es nur meine dict.

var dict = new Dictionary<string, string>(); 
dict["score"] = myScore.ToString; 

Das funktionierte einwandfrei.