Facebook Unity SDKを使用して数日間作業しています。すべてがFacebook Unity SDKの現在のユーザーではなく管理者アカウントに公開されます
私が今直面している問題は、共有、スコアAPI、写真の共有が現在使用しているアカウントではなく管理者アカウントで行われていることです。
例:
私は(私のアプリのテストユーザーである)アカウントBに私のゲームで1000年ポイントのスコアを持って、その後、私は添付/アップロードしようとするでしょうそのスコアはFacebookのアカウントに記録されます。
代わりに、このスコアは私のアカウントA(そのアプリの管理者アカウント)にアップロード/添付されています。
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);
}
例2:画像を共有するための
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);
}
コード:
同じことがFBアカウントにスコアを取り付ける/アップロードする写真、株式などに
コードを次に示します。 [更新済]
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);
FBユニティSDKのドキュメントからも
:
AccessToken ユーザーが最近それを承認したときにアプリに付与されたアクセストークンを含むFacebook.Unity名前空間のクラス
ない万一彼はそれを許可したので、それはそのユーザーのためだけのアクセストークンですか? それは事実ではなく、ユーザーだけがアプリを承認しましたか?
例3:ログイン手順[更新]
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);
}
開発者コンソール:
私は、一般的にはFacebookのSDKに新たなんだ、そう任意のヒントが理解されています。
ところで、FacebookのSDKは完全にここに彼らのチュートリアルで、このユニティプロジェクトに設定されている:私はFBアプリを通じて公開し、すべてがするのではなく、私の管理者アカウントに行く理由 がhttps://developers.facebook.com/docs/unity/gettingstarted
だから私の質問です現在のアカウントはそのゲームにログインしていますか?
また、私のアプリケーションがまだ承認されていないことに関連しているかもしれないが、まだテストユーザーが作業する必要がありますか?誰かがすでにif文シンプルでにログインある場合をログアウトでログインフロー(ユーザー@CBroeに巨大なおかげで)実装
1:
私は本当にこれを解決することを楽しみにしています!ヒントや提案は高く評価されています! – Gintas
'/ me'とは、使用しているアクセストークンによって異なります。この場合は、実際にアプリを使用しているユーザーのトークンではなく、アプリ管理者アカウントにトークンを使用している必要があります。どこにトークンをハードコードしていますか? – CBroe
実際にあなたがあなたと思われるアカウントとしてログインしていることを確認してください。アクセストークンのデバッグ出力を作成し、それをデバッグして、それが所属するユーザーアカウントを確認します。 – CBroe