Exemplo n.º 1
0
        private void beginAuthorizationButton_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(this.googleTokenManager.ConsumerKey))
            {
                MessageBox.Show(this, "You must modify the App.config or OAuthConsumerWpf.exe.config file for this application to include your Google OAuth consumer key first.", "Configuration required", MessageBoxButton.OK, MessageBoxImage.Stop);
                return;
            }

            Authorize auth = new Authorize(
                this.google,
                (DesktopConsumer consumer, out string requestToken) =>
                GoogleConsumer.RequestAuthorization(
                    consumer,
                    GoogleConsumer.Applications.Contacts | GoogleConsumer.Applications.Blogger,
                    out requestToken));
            bool?result = auth.ShowDialog();

            if (result.HasValue && result.Value)
            {
                this.googleAccessToken    = auth.AccessToken;
                this.postButton.IsEnabled = true;

                XDocument contactsDocument = GoogleConsumer.GetContacts(this.google, this.googleAccessToken, 25, 1);
                var       contacts         = from entry in contactsDocument.Root.Elements(XName.Get("entry", "http://www.w3.org/2005/Atom"))
                                             select new { Name = entry.Element(XName.Get("title", "http://www.w3.org/2005/Atom")).Value, Email = entry.Element(XName.Get("email", "http://schemas.google.com/g/2005")).Attribute("address").Value };
                this.contactsGrid.Children.Clear();
                foreach (var contact in contacts)
                {
                    this.contactsGrid.RowDefinitions.Add(new RowDefinition());
                    TextBlock name = new TextBlock {
                        Text = contact.Name
                    };
                    TextBlock email = new TextBlock {
                        Text = contact.Email
                    };
                    Grid.SetRow(name, this.contactsGrid.RowDefinitions.Count - 1);
                    Grid.SetRow(email, this.contactsGrid.RowDefinitions.Count - 1);
                    Grid.SetColumn(email, 1);
                    this.contactsGrid.Children.Add(name);
                    this.contactsGrid.Children.Add(email);
                }
            }
        }
Exemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                //NOTE: removed. so every page will provide google auth dialog
                if (AccessToken != null)
                {
                    //Previously stored token. clean it
                    ImportConfiguration.GoogleTokenManager.ExpireToken(AccessToken);
                }

                //Authenticating when loading pages
                if (!IsPostBack)
                {
                    using (
                        var google = new WebConsumer(GoogleConsumer.ServiceDescription,
                                                     ImportConfiguration.GoogleTokenManager))
                    {
                        // Is Google calling back with authorization?
                        var accessTokenResponse = google.ProcessUserAuthorization();
                        if (accessTokenResponse != null)
                        {
                            AccessToken = accessTokenResponse.AccessToken;
                            //Redirecting to result page
                            SubmitToken(AccessToken, Source);
                        }
                        else
                        {
                            // If we don't yet have access, immediately request it.
                            GoogleConsumer.RequestAuthorization(google, "https://docs.google.com/feeds/ https://spreadsheets.google.com/feeds/ https://docs.googleusercontent.com/");
                        }
                    }
                }
            }
            catch (ThreadAbortException)
            {
            }
            catch (Exception ex)
            {
                SubmitError(ex.Message, Source);
            }
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (this.TokenManager != null)
        {
            MultiView1.ActiveViewIndex = 1;

            if (!IsPostBack)
            {
                var google = new WebConsumer(GoogleConsumer.ServiceDescription, this.TokenManager);

                // Is Google calling back with authorization?
                var accessTokenResponse = google.ProcessUserAuthorization();
                if (accessTokenResponse != null)
                {
                    this.AccessToken = accessTokenResponse.AccessToken;
                }
                else if (this.AccessToken == null)
                {
                    // If we don't yet have access, immediately request it.
                    GoogleConsumer.RequestAuthorization(google, GoogleConsumer.Applications.Contacts);
                }
            }
        }
    }