Ejemplo n.º 1
0
        public async Task <FacebookResult <UserAuthTokenResponse> > GetTokenUserAsync(string code)
        {
            var _client = new HttpClient();

            var res = new FacebookResult <UserAuthTokenResponse>();

            var uri = "https://graph.facebook.com/v9.0/oauth/access_token?client_id=" + _settings.Facebook.ClientId + "&redirect_uri=" + _settings.Facebook.RedirectUri + "&client_secret=" + _settings.Facebook.ClientSecret + "&code=" + code;

            var httpResponse = await _client.GetAsync(uri);

            var content = await httpResponse.Content.ReadAsStringAsync();

            UserAuthTokenResponse obj = JsonConvert.DeserializeObject <UserAuthTokenResponse>(content);

            if (httpResponse.StatusCode != HttpStatusCode.OK)
            {
                res.Failed(httpResponse.StatusCode.ToString());
            }
            else
            {
                res.Success(httpResponse.StatusCode.ToString());
            }
            res.Result = obj;

            return(res);
        }
Ejemplo n.º 2
0
        public void OnCompleted(JSONObject json, GraphResponse response)
        {
            FacebookResult result = JsonConvert.DeserializeObject <FacebookResult>(json.ToString());

            Toast.MakeText(this, result.name + " " + result.email, ToastLength.Short).Show();
            StartActivity(typeof(MainView));
        }
Ejemplo n.º 3
0
        public async Task <FacebookResult <CheckAuthTokenResponse> > GetCheckAuthTokenAsync(string needToCheckToken, string appToken)
        {
            var _client = new HttpClient();

            var res = new FacebookResult <CheckAuthTokenResponse>();

            var uri = "https://graph.facebook.com/v9.0/debug_token?input_token=" + needToCheckToken + "&access_token=" + appToken;

            var httpResponse = await _client.GetAsync(uri);

            var content = await httpResponse.Content.ReadAsStringAsync();

            CheckAuthTokenResponse obj = JsonConvert.DeserializeObject <CheckAuthTokenResponse>(content);

            if (httpResponse.StatusCode != HttpStatusCode.OK)
            {
                res.Failed(httpResponse.StatusCode.ToString());
            }
            else
            {
                res.Success(httpResponse.StatusCode.ToString());
            }
            res.Result = obj;

            return(res);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Get user data from facebook
        /// </summary>
        /// <param name="callback"></param>
        public void GetUserData(IFacebookDataCallback callback)
        {
            this.FacebookDataCallback = callback;

            var accessToken = AccessToken.CurrentAccessToken;

            FacebookResult       = new FacebookResult();
            FacebookResult.Token = accessToken.TokenString;

            NSMutableDictionary keyValues = new NSMutableDictionary();

            keyValues.Add(new NSString("fields"), new NSString(FacebookService.Fields));

            GraphRequest           graphRequest           = new GraphRequest("me", keyValues, AccessToken.CurrentAccessToken.TokenString, null, HttpMethod.Get);
            GraphRequestConnection graphRequestConnection = new GraphRequestConnection();

            graphRequestConnection.AddRequest(graphRequest, (connection, result, error) =>
            {
                if (error != null)
                {
                    FacebookDataCallback.OnDataReceivedError(error.ToString());
                    return;
                }

                JsonConvert.PopulateObject(result.ToString(), FacebookResult);
                FacebookDataCallback.OnUserDataReceived(FacebookResult);
            });
        }
Ejemplo n.º 5
0
        public FacebookResult <string> GetAllegroLoginUrl()
        {
            var res = new FacebookResult <string>();

            //var uri = "https://www.facebook.com/v9.0/dialog/oauth?client_id=" + _settings.Facebook.ClientId + "&redirect_uri=" + _settings.Facebook.RedirectUri + "&response_type=code";

            var uri = "https://www.facebook.com/v9.0/dialog/oauth?client_id=" + _settings.Facebook.ClientId + "&redirect_uri=" + _settings.Facebook.RedirectUri + "&scope=ads_management,ads_read,email,public_profile" + "&response_type=code";

            res.Success(uri, FacebookResultCode.Succeed.ToString());

            return(res);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Get user data from facebook
        /// </summary>
        /// <param name="callback"></param>
        public void GetUserData(IFacebookDataCallback callback)
        {
            FacebookDataCallback = callback;

            AccessToken accessToken = AccessToken.CurrentAccessToken;

            FacebookResult       = new FacebookResult();
            FacebookResult.Token = accessToken.Token;

            Bundle parameters = new Bundle();

            parameters.PutString("fields", FacebookService.Fields);

            GraphRequest graphRequest = GraphRequest.NewMeRequest(accessToken, this);

            graphRequest.Parameters = parameters;
            graphRequest.ExecuteAsync();
        }
Ejemplo n.º 7
0
        public async void OnCompleted(JSONObject p0, GraphResponse p1)
        {
            string         data   = p0.ToString();
            FacebookResult result = JsonConvert.DeserializeObject <FacebookResult>(data);

            if (accessToken != null)
            {
                dialog.Show();
                var res = await DataServices.Register(accessToken.Token);

                dialog.Dismiss();
                if (res != null)
                {
                    Settings.UserID = result.id;
                    Settings.Name   = result.name;
                    //	ProcessAccountData(res);
                    StartActivity(typeof(InterestSelectActivity));
                }
            }
        }