在Unity中保存并重用Facebook访问令牌

时间:2017-05-12 03:29:09

标签: facebook-graph-api facebook-javascript-sdk unity5

我很确定这必须是一件简单的事情,但我无法弄明白...... 我调用FB.LogInWithReadPermissions来记录用户。我获得访问令牌并过期并存储它们。下次用户加载我们的应用时,我们希望使用他们以前的访问令牌,但无法弄清楚如何。 我打电话来初始化Facebook:

FB.Init(FB.AppId, AccessToken) 

但是如果我打电话

FB.API("/me?fields=id,name,email,first_name,last_name,picture,languages,gender,location, HttpMethod.GET, (IGraphResult meResult) => { }

失败了

 {"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500,"fbtrace_id":"******"}}

我认为使用先前的访问令牌调用Init会在FB上设置访问令牌,但我想我错了。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您必须在返回应用程序时检查初始化和登录过程:

    public void init(string s = "") 
    {

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

    }



    private void SetInint()
    {
        if(!FB.IsLoggedIn) 
        {
                    FB.LogInWithPublishPermissions(  new List<string>(){"public_profile","email","user_friends","publish_actions"}, LogginFinish);
        }
                else 
        {
                    FB.API("/me?fields=id,name,email,first_name,last_name,picture,languages,gender,location, HttpMethod.GET, (IGraphResult meResult) => { }
        }
}