public ActionResult LinkTwitter() { string rootUrl = Request.Url.GetLeftPart(UriPartial.Authority); TwitterOAuthClient client = new TwitterOAuthClient(); client.ConsumerKey = WebConfigurationManager.AppSettings["twitterConsumerKey"]; client.ConsumerSecret = WebConfigurationManager.AppSettings["twitterConsumerSecret"]; client.Callback = rootUrl + "/umbraco/surface/Profile/LinkTwitter"; // Make the request to the Twitter API to get a request token SocialOAuthRequestTokenResponse response = client.GetRequestToken(); // Get the request token from the response body TwitterOAuthRequestToken requestToken = (TwitterOAuthRequestToken)response.Body; // Save the token information to the session so we can grab it later Session[requestToken.Token] = requestToken; // Redirect the user to the authentication page at Twitter.com return(Redirect(requestToken.AuthorizeUrl)); }
protected void Page_Load(object sender, EventArgs e) { Callback = Request.QueryString["callback"]; ContentTypeAlias = Request.QueryString["contentTypeAlias"]; PropertyAlias = Request.QueryString["propertyAlias"]; // Get the prevalue options TwitterOAuthPreValueOptions options = TwitterOAuthPreValueOptions.Get(ContentTypeAlias, PropertyAlias); if (!options.IsValid) { Content.Text += "<p><strong>ContentTypeAlias</strong> " + ContentTypeAlias + "</p>"; Content.Text += "<p><strong>PropertyAlias</strong> " + PropertyAlias + "</p>"; Content.Text += "Hold on now! The options of the underlying prevalue editor isn't valid."; return; } // Configure the OAuth client based on the options of the prevalue options TwitterOAuthClient client = new TwitterOAuthClient { ConsumerKey = options.ConsumerKey, ConsumerSecret = options.ConsumerSecret, Callback = Request.Url.ToString() }; // Check whether the user has denied the app if (HasUserDenied) { Session.Remove(DeniedToken); Content.Text = "<div class=\"error\">Error: The app was denied access to your account.</div>"; return; } #region OAuth 1.0a - Step 3 if (OAuthToken != null) { // Grab the request token from the session OAuthRequestToken token = Session[OAuthToken] as OAuthRequestToken; // Check whether the requets token was found in the current session if (token == null) { Content.Text = "<div class=\"error\">An error occured. Timeout?</div>"; return; } // Update the token and token secret client.Token = token.Token; client.TokenSecret = token.TokenSecret; // Now get the access token try { OAuthAccessToken accessToken = client.GetAccessToken(OAuthVerifier); client.Token = accessToken.Token; client.TokenSecret = accessToken.TokenSecret; } catch (Exception) { Content.Text = "<div class=\"error\">Unable to retrieve access token from <b>Twitter.com</b>.</div>"; return; } try { // Initialize an instance of TwitterService TwitterService service = TwitterService.CreateFromOAuthClient(client); // Get information about the server TwitterUser user = service.Account.VerifyCredentials().Body; Content.Text += "<p>Hi <strong>" + (String.IsNullOrEmpty(user.Name) ? user.ScreenName : user.Name) + "</strong></p>"; Content.Text += "<p>Please wait while you're being redirected...</p>"; // Set the callback data TwitterOAuthData data = new TwitterOAuthData { Id = user.Id, ScreenName = user.ScreenName, Name = String.IsNullOrEmpty(user.Name) ? "" : user.Name, Avatar = user.ProfileImageUrlHttps, ConsumerKey = client.ConsumerKey, ConsumerSecret = client.ConsumerSecret, AccessToken = client.Token, AccessTokenSecret = client.TokenSecret }; // Update the UI and close the popup window Page.ClientScript.RegisterClientScriptBlock(GetType(), "callback", String.Format( "self.opener." + Callback + "({0}); window.close();", data.Serialize() ), true); } catch (TwitterException ex) { Content.Text = "<div class=\"error\">Error in the communication with Twitter.com<br /><br />" + ex.Message + " (Code: " + ex.Code + ")</div>"; } catch (Exception) { Content.Text = "<div class=\"error\">Error in the communication with Twitter.com</div>"; } return; } #endregion #region OAuth 1.0a - Step 1 // Get a request token from the Twitter API OAuthRequestToken requestToken = client.GetRequestToken(); // Save the token information to the session so we can grab it later Session[requestToken.Token] = requestToken; // Redirect the user to the authentication page at Twitter.com Response.Redirect(requestToken.AuthorizeUrl); #endregion }
protected new void Page_Load(object sender, EventArgs e) { base.Page_Load(sender, e); if (SPContext.Current != null && SPContext.Current.Web != null && SPContext.Current.Web.CurrentUser != null) { if (Settings != null) { TwitterOAuthClient client = new TwitterOAuthClient { ConsumerKey = ConsumerKey, ConsumerSecret = ConsumerSecret, Callback = this.Page.Request.Url.AbsoluteUri }; OAuthRequestToken token; if ((OAuthToken == null) && (!Settings.twitter_allow && string.IsNullOrWhiteSpace(Settings.twitter_oauth_token) && string.IsNullOrWhiteSpace(Settings.twitter_oauth_token_secret))) { token = client.GetRequestToken(); Settings.twitter_oauth_token = token.Token; Settings.twitter_oauth_token_secret = token.TokenSecret; Client.SetClubCloudSettings(Settings); Response.Redirect(token.AuthorizeUrl); } else { client.Token = Settings.twitter_oauth_token; client.TokenSecret = Settings.twitter_oauth_token_secret; if (!Settings.twitter_allow) { try { OAuthAccessToken accessToken = client.GetAccessToken(OAuthVerifier); client.Token = accessToken.Token; client.TokenSecret = accessToken.TokenSecret; Settings.twitter_oauth_token = accessToken.Token; Settings.twitter_oauth_token_secret = accessToken.TokenSecret; Settings.twitter_allow = true; } catch (Exception) { Settings.twitter_allow = false; Settings.twitter_oauth_token = null; Settings.twitter_oauth_token_secret = null; } Client.SetClubCloudSettings(Settings); } } } /* * if(settings.twitter_allow) * { * //TwitterAccessInformation information = new TwitterAccessInformation * //twitterConnect.OAuthToken = settings.twitter_oauth_token; * //twitterConnect.OAuthTokenSecret = settings.twitter_oauth_token_secret; * * //twitterConnect.Tweet("integration test"); * //DataTable data = twitterConnect.FetchProfile("MijnClubCloud"); * //int count = data.Rows.Count; * } */ //} } else { this.pnl_twitter.Visible = false; this.pnl_secure.Visible = true; } }
protected void Page_Load(object sender, EventArgs e) { // Initialize a new OAuth client with information about your app TwitterOAuthClient oauth = new TwitterOAuthClient { ConsumerKey = "1RA07SxkMPDrnTf5wx4fNQU9v", ConsumerSecret = "zsalItDzjWcAg3KWEQPv7UeVCRwR2neLQD0dihlKZ6WYJDnNA7", Callback = "https://b7b326cf8125.ngrok.io/WebForm1.aspx" }; if (Request.QueryString["do"] == "login") { // Get a request token from the Twitter API OAuthRequestToken token = oauth.GetRequestToken(); // Save the token information to the session so we can grab it later Session[token.Token] = token; // Redirect the user to the authentication page at Twitter.com Response.Redirect(token.AuthorizeUrl); } else if (Request.QueryString["oauth_token"] != null) { // Get OAuth parameters from the query string string oAuthToken = Request.QueryString["oauth_token"]; string oAuthVerifier = Request.QueryString["oauth_verifier"]; // Grab the request token from the session OAuthRequestToken token = Session[oAuthToken] as OAuthRequestToken; if (token == null) { // Content.Text = "<p>An error occured. Timeout?</p>"; } else { // Some information for development purposes // Content.Text += "<p>Request Token: " + token.Token + "</p>"; // Content.Text += "<p>Request Token Secret: " + token.TokenSecret + "</p>"; // Update the OAuth client with information from the request token oauth.Token = token.Token; oauth.TokenSecret = token.TokenSecret; try { // Obtain an access token from the request token and OAuth verifier OAuthAccessToken accessToken = oauth.GetAccessToken(oAuthVerifier); // Update the OAuth client with the access token and access token secret oauth.Token = accessToken.Token; oauth.TokenSecret = accessToken.TokenSecret; TwitterVerifyCrendetialsOptions options = new TwitterVerifyCrendetialsOptions { IncludeEmail = true }; // Initialize a new TwitterService instance based on the OAuth client TwitterService service = TwitterService.CreateFromOAuthClient(oauth); // Get information about the authenticated user var user = service.Account.VerifyCredentials(options); // Some information for development purposes // Content.Text += "<b>Hi " + (user.Name ?? user.ScreenName) + "</b> (" + user.Id + ")<br />"; // Content.Text += "<p>Access Token: " + accessToken.Token + "</p>"; // Content.Text += "<p>Access Token Secret: " + accessToken.TokenSecret + "</p>"; } catch (Exception ex) { // Content.Text += "<pre style=\"color: red;\">" + ex.GetType().FullName + ": " + ex.Message + "\r\n\r\n" + ex.StackTrace + "</pre>"; } } } else if (Request.QueryString["denied"] != null) { // Get OAuth parameters from the query string string oAuthToken = Request.QueryString["denied"]; // Remove the request token from the session Session.Remove(oAuthToken); // Write some output for the user /// Content.Text += "<p>It seems that you cancelled the login!</p>";/ /// / Content.Text += "<p><a href=\"OAuth.aspx?do=login\">Try again?</a></p>"; } else { // Content.Text += "<p><a href=\"OAuth.aspx?do=login\">Login with Twitter</a></p>"; } }