将facebook登录连接到firebase

时间:2017-05-19 19:44:49

标签: facebook facebook-graph-api unity3d firebase-authentication facebook-login

当用户通过Facebook登录时,我想在我的团结游戏中使用firebase facebook登录用户名,电子邮件&个人资料图片保存在firebase中。 我尝试从firebase unity登录auth docs,但我不能从那里得到任何东西。 对于那些初学者来说难以理解的文档。

using UnityEngine;
using Facebook.Unity;
using UnityEngine.UI;
using Firebase.Auth;


public class FacebookManager : MonoBehaviour
{
public Text userIdText;
private FirebaseAuth mAuth;



private void Awake()
{



    if (!FB.IsInitialized)
    {
        FB.Init();
    }
    else
    {
        FB.ActivateApp();
    }
}

public void LogIn()
{
    FB.LogInWithReadPermissions(callback:OnLogIn);


}
private void OnLogIn(ILoginResult result)
{
    if (FB.IsLoggedIn)
    {
        AccessToken tocken = AccessToken.CurrentAccessToken;
        userIdText.text = tocken.UserId;
        Credential credential =FacebookAuthProvider.GetCredential(tocken.UserId);

    }
    else
    {
        Debug.Log("Login Failed");
    }
}

public void accessToken(Credential firebaseResult)
{
    FirebaseAuth auth = FirebaseAuth.DefaultInstance;
    if (!FB.IsLoggedIn)
    {
        return;
    }

    auth.SignInWithCredentialAsync(firebaseResult).ContinueWith(task =>
    {
        if (task.IsCanceled)
        {
            Debug.LogError("SignInWithCredentialAsync was canceled.");
            return;
        }
        if (task.IsFaulted)
        {
            Debug.LogError("SignInWithCredentialAsync encountered an error: " + task.Exception);
            return;
        }

        FirebaseUser newUser = task.Result;
        Debug.LogFormat("User signed in successfully: {0} ({1})",
            newUser.DisplayName, newUser.UserId);
    });
}
}

请帮助我,我是编码初学者

1 个答案:

答案 0 :(得分:0)

Image

tocken.UserId 这是错误的。使用 tocken.TokenString 。这将解决您的问题。 :)