HttpWebRequest FetchTaringaShout(string oauth_access_token, string oauth_access_token_secret, string bodyText) { if (oauth_access_token != "" && oauth_access_token_secret != "") { string oauth_consumer_key = this.oauth_consumer_key; string oauth_consumer_secret = this.oauth_consumer_secret; string shoutUrl = POST_SHOUT; //test string UserDataTokenURL = ""; string OAuthHeader; OAuthHeader = OAuthUtility.GetAuthorizationHeaderForPost_OR_QueryParameterForGET(new Uri(shoutUrl), "POST", oauth_consumer_key, oauth_consumer_secret, oauth_access_token, oauth_access_token_secret, out UserDataTokenURL, "", bodyText); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(POST_SHOUT); request.Method = httpMethod.POST.ToString(); request.ContentType = "application/x-www-form-urlencoded"; //request.Headers["Body"] = OAuthHeader; byte[] array = Encoding.ASCII.GetBytes(OAuthHeader); request.GetRequestStream().Write(array, 0, array.Length); return(request); } else { string requestToken = this.GetRequestToken(); string authorize = ""; if (string.IsNullOrEmpty(this.oauth_error)) { authorize = this.GetAuthorizeUrl(requestToken); } else { authorize = this.oauth_error; } if (HttpContext.Current.Request.QueryString["oauth_token"] != null && HttpContext.Current.Request.QueryString["oauth_verifier"] != null) { var OauthCookieApi = GetCookieInfo(); string oauth_token = HttpContext.Current.Request.QueryString["oauth_token"]; string oauth_verifier = HttpContext.Current.Request.QueryString["oauth_verifier"]; GetUserTaringaAccessToken(oauth_token, oauth_verifier); if (string.IsNullOrEmpty(oauth_error)) { PostTaringaShout(oauth_access_token, oauth_access_token_secret, bodyText); return(null); } } else if (authorize != this.oauth_error && authorize != null) { HttpContext.Current.Response.Redirect(authorize, true); } } return(null); }
public void TweetOnBehalfOf(string oauth_access_token, string oauth_token_secret, string postData) { HttpWebRequest request = PostTwits(oauth_consumer_key, oauth_consumer_secret, oauth_access_token, oauth_token_secret, postData); string result = OAuthHelper.getResponce(request); Dictionary <string, string> dcResult = OAuthUtility.GetQueryParameters(result); if (dcResult["status"] != "200") { this.oauth_error = result; } }
HttpWebRequest FetchTaringaUserData(httpMethod method, string oauth_consumer_key, string oauth_consumer_secret, string oauth_access_token, string oauth_access_token_secret) { string UserDataTokenURL = ""; string OAuthHeader; OAuthHeader = OAuthUtility.GetAuthorizationHeaderForPost_OR_QueryParameterForGET(new Uri(GET_USER_DATA), method.ToString(), oauth_consumer_key, oauth_consumer_secret, oauth_access_token, oauth_access_token_secret, out UserDataTokenURL); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(GET_USER_DATA + "?" + OAuthHeader); request.Method = method.ToString(); return(request); }
public void GetUserTaringaAccessToken(string oauth_token, string oauth_verifier) { HttpWebRequest request = FetchAccessToken(method, oauth_consumer_key, oauth_consumer_secret, oauth_token, oauth_verifier); string result = getResponce(request); Dictionary <string, string> resultData = OAuthUtility.GetQueryParameters(result); if (resultData.Keys.Contains("oauth_token")) { this.oauth_access_token = resultData["oauth_token"]; this.oauth_access_token_secret = resultData["oauth_token_secret"]; } else { this.oauth_error = result; } }
HttpWebRequest PostTwits(string oauth_consumer_key, string oauth_consumer_secret, string oauth_access_token, string oauth_token_secret, string postData) { postData = "trim_user=true&include_entities=true&status=" + postData; string updateStatusURL = "https://api.twitter.com/1/statuses/update.json?" + postData; string outUrl; string OAuthHeaderPOST = OAuthUtility.GetAuthorizationHeaderForPost_OR_QueryParameterForGET(new Uri(updateStatusURL), httpMethod.POST.ToString(), oauth_consumer_key, oauth_consumer_secret, oauth_access_token, oauth_token_secret, out outUrl, callbackUrl); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(outUrl); request.Method = httpMethod.POST.ToString(); request.Headers["Authorization"] = OAuthHeaderPOST; byte[] array = Encoding.ASCII.GetBytes(postData); request.GetRequestStream().Write(array, 0, array.Length); return(request); }
HttpWebRequest FetchRequestToken(httpMethod method, string oauth_consumer_key, string oauth_consumer_secret) { string OutUrl = ""; string OAuthHeader = OAuthUtility.GetAuthorizationHeaderForPost_OR_QueryParameterForGET(new Uri(REQUEST_TOKEN), method.ToString(), oauth_consumer_key, oauth_consumer_secret, "", "", out OutUrl, callbackUrl); if (method == httpMethod.GET) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(OutUrl + "?" + OAuthHeader); request.Method = method.ToString(); return(request); } else if (method == httpMethod.POST) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(OutUrl); request.Method = method.ToString(); request.Headers["Authorization"] = OAuthHeader; return(request); } else { return(null); } }
HttpWebRequest FetchAccessToken(httpMethod method, string oauth_consumer_key, string oauth_consumer_secret, string oauth_token, string oauth_verifier) { string postData = "oauth_verifier=" + oauth_verifier; string AccessTokenURL = string.Format("{0}?{1}", ACCESS_TOKEN, postData); string OAuthHeader; if (method == httpMethod.GET && oauth_consumer_key == "16") //Solo si es de taringa va sin el callback { HttpCookie tokenSecret = System.Web.HttpContext.Current.Request.Cookies["Ots"]; OAuthHeader = OAuthUtility.GetAuthorizationHeaderForPost_OR_QueryParameterForGET(new Uri(AccessTokenURL), method.ToString(), oauth_consumer_key, oauth_consumer_secret, oauth_token, tokenSecret.Value, out AccessTokenURL); } else { OAuthHeader = OAuthUtility.GetAuthorizationHeaderForPost_OR_QueryParameterForGET(new Uri(AccessTokenURL), method.ToString(), oauth_consumer_key, oauth_consumer_secret, oauth_token, "", out AccessTokenURL, callbackUrl); } if (method == httpMethod.GET) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(AccessTokenURL + "?" + OAuthHeader); request.Method = method.ToString(); return(request); } else if (method == httpMethod.POST) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(AccessTokenURL); request.Method = method.ToString(); request.Headers["Authorization"] = OAuthHeader; byte[] array = Encoding.ASCII.GetBytes(postData); request.GetRequestStream().Write(array, 0, array.Length); return(request); } else { return(null); } }
public string GetRequestToken() { HttpWebRequest request = FetchRequestToken(method, oauth_consumer_key, oauth_consumer_secret); string result = getResponce(request); Dictionary <string, string> resultData = OAuthUtility.GetQueryParameters(result); if (resultData.Keys.Contains("oauth_token")) { //Guarda la cookie ots "OauthTokenSecret" Para persistir el dato que hay que enviar para el signature de taringa System.Web.HttpContext.Current.Response.Cookies.Remove("Ots"); HttpCookie cookie = new HttpCookie("Ots"); cookie.Value = resultData["oauth_token_secret"]; cookie.Expires = DateTime.UtcNow.AddMinutes(30); cookie.HttpOnly = false; System.Web.HttpContext.Current.Response.Cookies.Add(cookie); return(resultData["oauth_token"]); } else { this.oauth_error = result; return(""); } }