예제 #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            this.RegisterAsyncTask(
                new PageAsyncTask(
                    async ct => {
                var twitter = new TwitterConsumer();
                if (twitter.ConsumerKey != null)
                {
                    this.MultiView1.ActiveViewIndex = 1;

                    if (!IsPostBack)
                    {
                        // Is Twitter calling back with authorization?
                        var accessTokenResponse = await twitter.ProcessUserAuthorizationAsync(this.Request.Url);
                        if (accessTokenResponse != null)
                        {
                            this.AccessToken = accessTokenResponse.AccessToken;
                        }
                        else
                        {
                            // If we don't yet have access, immediately request it.
                            Uri redirectUri = await twitter.RequestUserAuthorizationAsync(MessagingUtilities.GetPublicFacingUrl());
                            this.Response.Redirect(redirectUri.AbsoluteUri);
                        }
                    }
                }
            }));
        }