1


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); 
} 

開発者コンソール:

enter image description here

私は、一般的にはFacebookのSDKに新たなんだ、そう任意のヒントが理解されています。

ところで、FacebookのSDKは完全にここに彼らのチュートリアルで、このユニティプロジェクトに設定されている:私はFBアプリを通じて公開し、すべてがするのではなく、私の管理者アカウントに行く理由 がhttps://developers.facebook.com/docs/unity/gettingstarted

だから私の質問です現在のアカウントはそのゲームにログインしていますか?

また、私のアプリケーションがまだ承認されていないことに関連しているかもしれないが、まだテストユーザーが作業する必要がありますか?誰かがすでにif文シンプルでにログインある場合をログアウトでログインフロー(ユーザー@CBroeに巨大なおかげで)実装

1:

+0

私は本当にこれを解決することを楽しみにしています!ヒントや提案は高く評価されています! – Gintas

+0

'/ me'とは、使用しているアクセストークンによって異なります。この場合は、実際にアプリを使用しているユーザーのトークンではなく、アプリ管理者アカウントにトークンを使用している必要があります。どこにトークンをハードコードしていますか? – CBroe

+1

実際にあなたがあなたと思われるアカウントとしてログインしていることを確認してください。アクセストークンのデバッグ出力を作成し、それをデバッグして、それが所属するユーザーアカウントを確認します。 – CBroe

答えて

0

は、私はこれをすることによってこの問題を解決するために管理しました:

if (FB.IsLoggedIn == true) 
{ 
    Debug.Log("[Facebook SDK]: Already LOGGED In, LOGGIN OUT...\n"); 
    FB.LogOut(); 
} 
else if (FB.IsLoggedIn == false) 
    Debug.Log("[Facebook SDK]: User is NOT LOGGED IN, NOT DOING ANYTHING...\n"); 

これは誰かを助けることを望みます。

ヒント:@CBroeで述べたように

  • はまた、モバイル上でアカウントを切り替えるには確かに非常に難しいので、それはFacebookのSDKで台無しようにlogginの準備ができて複数のアカウントを持っていないようにしてください。 はログインして1つのアカウントのみを持っています。
  • 誰かがFacebookのSDKにログインされると、FB SDKを使用して、別のアカウントでログインしようとしていることを気にしないことに注意してください、代わりに彼はすべての要求を行い、公表します最後にログインしたアカウントのもの。
  • あなたのアプリとのFacebookの統合をテストする場合、あなたのアプリがでないことを確認してください。(Facebook Developers Consoleのアプリの近くに小さな緑色のアイコン) DEVELOPMENTモードにあり、テスターの役割に割り当てられたユーザーでテストしています。
関連する問題