Also ich habe mit Facebook Unity SDK für ein paar Tage gearbeitet und es ist ein echter Kampf, um die Dinge damit zu erledigen.Alles veröffentlicht auf Administrator-Konto anstelle des aktuellen Benutzers in Facebook Unity SDK
Also das Problem, mit dem ich gerade konfrontiert bin, ist, dass alles: Shares, Scores-API, Foto-Sharing auf dem Administratorkonto anstelle von dem Konto, das ich gerade verwende, erfolgt.
Beispiel:
I eine Punktzahl von Punkten in meinem Spiel auf Konto B habe (die ein Testbenutzer auf meiner app ist), und dann werde ich versuchen zu laden/attach dieses Ergebnis zu seinem Facebook-Konto.
Stattdessen wird diese Punktzahl hochgeladen/an meine Konto A (das ist Administrator-Konto für diese App).
Das Gleiche gilt folgt für Bilder, Aktien usw.
-Code für das Hochladen/Partitur FB Konto Befestigung:
public void WriteScoreToFBAccount()
{
Debug.Log("Trying to Upload attach Score to FB account...\n");
lg.WriteToTextUIObject("Trying to Upload attach Score to FB account...\n");
var wwwForm = new WWWForm();
wwwForm.AddField("score", 1999);
FB.API("/me/scores", HttpMethod.POST, FacebookProcessCallBack, wwwForm);
}
-Code für das Bild teilen
public void TakeAScreenShot()
{
Debug.Log("Taking a Screenshot and trying to Upload it to FB...\n");
lg.WriteToTextUIObject("Taking a Screenshot and trying to Upload it to FB...\n");
ShareStatusMainWindowBackImage.SetActive(true);
var width = Screen.width;
var height = Screen.height;
var tex = new Texture2D(width, height, TextureFormat.RGB24, false);
// Read screen contents into the texture
tex.ReadPixels(new Rect(0, 0, width, height), 0, 0);
tex.Apply();
byte[] screenshot = tex.EncodeToPNG();
var wwwForm = new WWWForm();
wwwForm.AddBinaryData("image", screenshot, "InteractiveConsole.png");
FB.API("me/photos", HttpMethod.POST, FacebookProcessCallBack, wwwForm);
}
Beispiel 2: [AKTUALISIERT]
Debug.Log("Trying to get FB friends Score...\n");
lg.WriteToTextUIObject("Trying to get FB friends Score...\n");
CurrentFacebookProcess = "GetFBScoreBoard";
string url = "https" + "://graph.facebook.com/" + AccessToken.CurrentAccessToken.UserId + "/?fields=scores%7Bapplication%2Cscore%7D&";
url += "access_token=" + AccessToken.CurrentAccessToken.TokenString;
WWWForm wwwForm = new WWWForm();
FB.API(url, HttpMethod.GET, FacebookProcessCallBack, wwwForm);
Wie aus der FB Unity SDK-Dokumentation:
AccessToken A-Klasse im Facebook.Unity Namespace das Zugriffstoken zu Ihrer App gewährt enthält, wenn der Benutzer zuletzt es autorisierte
Sollte nicht ist es das Zugriffs-Token nur für diesen Benutzer, weil er es autorisiert hat? Oder ist es nicht der Fall und der Benutzer autorisierte nur die App?
Beispiel 3: Login-Prozedur [aktualisiert]
public void LogIntoFB_Publish()
{
Debug.Log("Starting a login proccess with publish permissions...\n");
lg.WriteToTextUIObject("Starting a login proccess with publish permissions...\n");
FB.LogInWithPublishPermissions(new List<string>() { "publish_actions"}, AuthCallback);
}
public void LogIntoFB_Read()
{
Debug.Log("Starting a login proccess with read permissions...\n");
lg.WriteToTextUIObject("Starting a login proccess with read permissions...\n");
FB.LogInWithReadPermissions(new List<string>() { "public_profile", "user_games_activity", "user_friends" }, AuthRead);
}
Entwickler Konsole:
ich Book SDK im Allgemeinen bin neu, so werden alle Tipps geschätzt.
BTW, Facebook SDK ist vollständig auf diesem Unity-Projekt durch ihre Anleitung konfiguriert hier: https://developers.facebook.com/docs/unity/gettingstarted
Also meine Frage ist, warum alles, was ich durch den FB-App veröffentlichen, um mein Administrator-Konto statt dem geht Ist das aktuelle Konto in diesem Spiel angemeldet?
Auch ich frage mich, kann es mit der Sache, dass meine App noch nicht genehmigt ist, aber immer noch die Test-Nutzer sollten arbeiten?
Ich freue mich wirklich darauf, dies zu lösen! Alle Tipps oder Vorschläge werden geschätzt !!! – Gintas
Worauf sich '/ me' bezieht, hängt vom verwendeten Zugriffstoken ab. In diesem Fall müssen Sie das Token für Ihr App-Administratorkonto verwenden und nicht das Token des Nutzers, der Ihre App tatsächlich verwendet. Hast du den Token irgendwo hart codiert? – CBroe
Stellen Sie sicher, dass Sie wirklich als das Konto angemeldet sind, von dem Sie glauben, dass Sie es sind. Machen Sie eine Debug-Ausgabe Ihres Zugriffstokens, und debuggen Sie es anschließend, um festzustellen, zu welchem Benutzerkonto es gehört. – CBroe