2016-03-22 66 views
-4

我有一個有趣的問題。 我的FB Canvas遊戲處於開發模式,我已獲得我的publish_actions批准。當在瀏覽器中啓動我的遊戲時,我登錄到我的帳戶時獲得了grantedScopes的列表,它正確列出了publish_actions並且一切正常,但是當我的一個測試人員(我已經給測試人員在fb dev控制檯中滾動時)。遊戲然後它不會在其grantedScopes下列出publish_actions。 我做錯了什麼? 我是否需要以某種方式請求用戶接受此新許可?Facebook publish_actions aproved但grantedScope僅顯示publish_actions

這裏是我的fblogin代碼

using UnityEngine; 
using System.Collections; 
using System.Collections.Generic; 
using Facebook.Unity; 
using UnityEngine.UI; 
using System; 

public class FBLogin : MonoBehaviour { 

void Awake() 
{ 
    FB.Init (SetInit, OnHideUnity); 
} 

private void SetInit() 
{ 

    Debug.Log ("FB Init done."); 

    if (FB.IsLoggedIn) 
    { 
     Debug.Log ("FB Logged In."); 
    }else{ 
     Debug.Log("FB NOT Logged In."); 
    } 
} 

private void OnHideUnity(bool isGameShown) 
{ 
    if(!isGameShown) 
    { 
     Time.timeScale = 0; 
    }else{ 
     Time.timeScale = 1; 
    } 
} 

public void FBlogin() 
{ 
    var perms = new List<string>(){"public_profile", "email",}; 
    FB.LogInWithPublishPermissions(perms, AuthCallback); 
} 

private void AuthCallback (ILoginResult result) 
{ 
    Debug.Log(result.RawResult); 
    if (FB.IsLoggedIn) 
    { 

     var aToken = Facebook.Unity.AccessToken.CurrentAccessToken; 
     // Print current access token's User ID 
     Debug.Log(aToken.UserId); 
     // Print current access token's granted permissions 
     foreach (string perm in aToken.Permissions) { 
      Debug.Log(perm); 
     } 
    } else { 
     Debug.Log("User cancelled login"); 

    } 
} 
} 

謝謝你們。

+1

你確實需要發佈你的代碼,如果我們將能夠幫助... – user3268305

+0

你當然需要_ask_用戶的權限。 – CBroe

+0

我已將我的登錄代碼添加到頂部 – Oscar

回答

1

您請求的權限不是發佈權限,它們是讀取權限。您將需要使用

FB.LogInWithReadPermissions(new List<String>(){"public_profile", "email"}, AuthCallback)

與所請求的讀取權限登錄。一旦你的回調火災,你將需要提交第二個請求:

FB.LogInWithPublishPermissions(new List<String>(){"publish_actions"}, AuthCallback)

不能在同一請求對話框結合閱讀和發佈權限給最終用戶。不要反覆打開兩個對話框,認爲最好的做法是暫緩請求發佈權限,直到用戶實際嘗試從應用內發佈某些內容爲止。

相關問題