Esempio n. 1
0
        public static async Task GetInfo(Action <JObject> onCompleted)
        {
            IsLoginCall = false;

            var accessToken = await RefreshAccessToken();

            var param   = NSDictionary.FromObjectAndKey(CurrentParameters.ToString(",").ToNs(), "fields".ToNs());
            var request = new SDK.CoreKit.GraphRequest("me", param, accessToken.TokenString, null, "GET");

            request.Start(new SDK.CoreKit.GraphRequestBlockHandler(GraphCallback));

            UserInfoFetched.ClearHandlers();
            UserInfoFetched.Handle(onCompleted);
        }
Esempio n. 2
0
        static async void RequestTokenHandler(SDK.LoginKit.LoginManagerLoginResult result, NSError error)
        {
            if (error != null)
            {
                Log.For(typeof(Facebook)).Error("An error occurred in Facebook :[" + error + "]");
                await OnError.Raise(error.ToString());
            }
            else if (result?.IsCancelled ?? true)
            {
                await OnCancel.Raise();
            }
            else
            {
                try
                {
                    var er          = result.ToString();
                    var accessToken = result.Token;
                    if (accessToken.IsExpired)
                    {
                        accessToken = await RefreshAccessToken();
                    }

                    CurrentAccessToken = new AccessToken
                    {
                        TokenString = accessToken.TokenString,
                        AppId       = accessToken.AppId,
                        UserId      = accessToken.UserId
                    };

                    var param   = NSDictionary.FromObjectAndKey(CurrentParameters.ToString(",").ToNs(), "fields".ToNs());
                    var request = new SDK.CoreKit.GraphRequest("me", param, accessToken.TokenString, null, "GET");
                    request.Start(new SDK.CoreKit.GraphRequestBlockHandler(GraphCallback));
                }
                catch (Exception e)
                {
                    Log.For(typeof(Facebook)).Error(e);
                    throw;
                }
            }
        }