Пример #1
0
 public override void Logout()
 {
     FacebookWP8.Logout();
     userId      = "";
     accessToken = "";
     isLoggedIn  = false;
 }
Пример #2
0
        private IEnumerator LoginComplete()
        {
            accessToken = FacebookWP8.AccessToken;
            string url = "https://graph.facebook.com/me?method=get&access_token=" + accessToken;
            WWW    www = new WWW(url);

            yield return(www);

            if (www.error != null)
            {
                Debug.LogError("www.error");
                Logout();
            }
            else if (www.text.Contains("first_name"))
            {
                //If Data comes back then get User ID and Save it. Also be sure to save AccessToken
                var dict = Facebook.MiniJSON.Json.Deserialize(www.text) as Dictionary <string, object>;
                FacebookWP8.UserID = (string)dict["id"];
                userId             = FacebookWP8.UserID;
                FacebookWP8.SaveUserIDToken();
                FacebookWP8.SaveAccessToken();
            }
            else
            {
                //Token is not valid. Delete session. Set to not logged in;
                Logout();
            }

            isLoggedIn = FacebookWP8.IsLoggedIn;

            if (cb != null)
            {
                cb(new FBResult((isLoggedIn) ? "Login sucessful" : "Login failed", null));
            }
        }
Пример #3
0
 public override void Login(string scope = "", FacebookDelegate callback = null)
 {
     if (FacebookWP8.IsLoggedIn)
     {
         //If logged in then do nothing.
         return;
     }
     else if (!FacebookWP8.IsLoggedIn && FacebookWP8.AccessToken.Length > 0)
     {
         //if AccessToken is only avaiable then Complete login (get UserID)
         StartCoroutine(LoginComplete());
     }
     else
     {
         FacebookWP8.Login(scope);
         StartCoroutine(CheckLoginLoop());   //Start LoginCheck for login complete.
     }
     cb = callback;
 }
Пример #4
0
        public override void Init(
            InitDelegate onInitComplete,
            string appId,
            bool cookie               = false,
            bool logging              = true,
            bool status               = true,
            bool xfbml                = false,
            string channelUrl         = "",
            string authResponse       = null,
            bool frictionlessRequests = false,
            Facebook.HideUnityDelegate hideUnityDelegate = null)
        {
            //Init Facebook. This will load in UserID and AccessToken if made a previous login.
            FacebookWP8.Init(appId);


            if (FacebookWP8.IsLoggedIn)
            {
                //If Logged in (UserID and Token was saved and valid then set login = true
                //Dll checks if the token if valid.
                isLoggedIn  = FacebookWP8.IsLoggedIn; //Only true if token and User are not blank.
                accessToken = FacebookWP8.AccessToken;
                userId      = FacebookWP8.UserID;
            }
            else if (FacebookWP8.AccessToken.Length > 0)
            {
                //If Only access token is there, because login with DLL only produces the Acess Token,
                //Then Complete Login
                isLoggedIn  = false;
                accessToken = FacebookWP8.AccessToken;
                StartCoroutine(LoginComplete());
            }
            else
            {
                //If AccessToken and User are blank in FacebookWP8 class then login if false.
                isLoggedIn = false;
            }

            if (onInitComplete != null)
            {
                onInitComplete();
            }
        }