Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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;
            }
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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;
            }
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
            }
        }
Ejemplo n.º 7
0
        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);
            }
        }
Ejemplo n.º 8
0
        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("");
            }
        }