protected void Page_Load(object sender, EventArgs e) { auth = new WebOAuthAuthorization(InMemoryTokenManager.Instance, InMemoryTokenManager.AccessToken); if (!Page.IsPostBack) { // try to complete a pending authorization in case there is one. string accessToken = auth.CompleteAuthorize(); if (accessToken != null) { // Store the access token in session state so we can get at it across page refreshes. // In a real app, you'd want to associate this access token with the user that is // logged into your app at this point. InMemoryTokenManager.AccessToken = accessToken; // Clear away the OAuth message so that users can refresh the page without problems. Response.Redirect(Page.Request.Path); } } if (string.IsNullOrEmpty(InMemoryTokenManager.Instance.ConsumerKey) || string.IsNullOrEmpty(InMemoryTokenManager.Instance.ConsumerSecret)) { // The user needs to set up the web.config file to include Twitter consumer key and secret. PrivateDataMultiView.SetActiveView(SetupTwitterConsumer); } else if (auth.CachedCredentialsAvailable) { auth.SignOn(); // acquire the screen name, and ensure the access token is still valid. screenNameLabel.Text = auth.ScreenName; PrivateDataMultiView.SetActiveView(ViewPrivateUpdates); updateBox.Focus(); } else { PrivateDataMultiView.SetActiveView(AuthorizeTwitter); } twitterCtx = auth.CachedCredentialsAvailable ? new TwitterContext(auth) : new TwitterContext(); var tweets = from tweet in twitterCtx.Status where tweet.Type == (auth.CachedCredentialsAvailable ? StatusType.Friends : StatusType.Public) select tweet; TwitterListView.DataSource = tweets; TwitterListView.DataBind(); // demonstrate serialization var serializableUser = (from user in twitterCtx.User where user.Type == UserType.Show && user.ScreenName == "JoeMayo" select user) .FirstOrDefault(); // if you have ASP.NET state server turned on // this will still work because User is serializable Session["SerializableUser"] = serializableUser; }
protected void Page_Load(object sender, EventArgs e) { IOAuthCredentials credentials = new SessionStateCredentials(); if (credentials.ConsumerKey == null || credentials.ConsumerSecret == null) { credentials.ConsumerKey = ConfigurationManager.AppSettings["twitterConsumerKey"]; credentials.ConsumerSecret = ConfigurationManager.AppSettings["twitterConsumerSecret"]; } auth = new WebAuthorizer { Credentials = credentials, PerformRedirect = authUrl => Response.Redirect(authUrl) }; if (!Page.IsPostBack && Request.QueryString["oauth_token"] != null) { auth.CompleteAuthorization(Request.Url); } if (string.IsNullOrWhiteSpace(credentials.ConsumerKey) || string.IsNullOrWhiteSpace(credentials.ConsumerSecret)) { // The user needs to set up the web.config file to include Twitter consumer key and secret. PrivateDataMultiView.SetActiveView(SetupTwitterConsumer); } else if (auth.IsAuthorized) { screenNameLabel.Text = auth.ScreenName; PrivateDataMultiView.SetActiveView(ViewPrivateUpdates); updateBox.Focus(); } else { PrivateDataMultiView.SetActiveView(AuthorizeTwitter); } if (auth.IsAuthorized) { twitterCtx = new TwitterContext(auth); var search = (from srch in twitterCtx.Search where srch.Type == SearchType.Search && srch.Query == "LINQ to Twitter" select srch) .SingleOrDefault(); TwitterListView.DataSource = search.Statuses; TwitterListView.DataBind(); } }
protected async void RefreshButton_Click(object sender, EventArgs e) { var auth = new AspNetAuthorizer { CredentialStore = new SessionStateCredentialStore(), GoToTwitterAuthorization = twitterUrl => { } }; var ctx = new TwitterContext(auth); var tweets = await (from tweet in ctx.Status where tweet.Type == StatusType.Home select tweet) .ToListAsync(); TwitterListView.DataSource = tweets; TwitterListView.DataBind(); }