Hi,
I have a twitter application and I want to check the following
scenario.

A user logged into his twitter account and already granted permissions
to make status notes through another application.
When user hits the connect button, the navigation directs to Allow/
Deny page which he already confirmed. I want this to by pass and
automatically allowed the user to update the status notes in their
twitter wall.

I used the following code and it doesn't work as expected. Could you
please help me to solve this?

const string requestUrl = "http://twitter.com/oauth/request_token";;

            // This is the URL to exchange the request token for an
access token
            const string accessUrl = "http://twitter.com/oauth/
access_token";

            // This is the URL to access a protected resource; in this
case,
            // the authorized user’s timeline
            const string userTimeline = "http://twitter.com/statuses/
user_timeline.xml";

            // This is your application’s consumer key
            const string key = "key";

            // This is your application’s consumer secret
            const string secret = "secret";

            // This is the URL to send a user for authorization
            const string authorizeUrl = "http://twitter.com/oauth/
authorize?oauth_token=";

            // Retrieve and parse the request token
            var response = OAuth.GetRequestToken(requestUrl, key,
secret);
            var collection = HttpUtility.ParseQueryString(response);
            var requestToken = new { Token = collection[0],
TokenSecret = collection[1] };

            // At this point, your application must wait for the user
to return
            var url = String.Concat(authorizeUrl,
 
Uri.EscapeDataString(requestToken.Token));

            string value = OAuth.GetAccessToken(accessUrl,
                                            key,
                                            secret,
                                            "access token of a
user",    // this is a unique value for a user
                                            "access token secret of
the user"); // unique value for a user

// above method doesn't give me the the required value in fact, it
gives an error called...."this method needs to call with request
tokens"


<<<< I want the following 4 lines of code to be executed only if the
user hasn't granted permissions or not logged in   >>>>

            Process proc = new Process();
            proc.StartInfo.FileName = "iexplore";
            proc.StartInfo.Arguments = url;
            proc.Start();


            // Exchange the request token for the access token after
user approval
            response = OAuth.GetAccessToken(accessUrl,
                                            key,
                                            secret,
                                            requestToken.Token,
                                            requestToken.TokenSecret);

            while (String.IsNullOrEmpty(response.Trim()))
            {
                response = OAuth.GetAccessToken(accessUrl,
                                            key,
                                            secret,
                                            requestToken.Token,
                                            requestToken.TokenSecret);
            }


            if (response.Contains("screen_name"))
            {

                collection = HttpUtility.ParseQueryString(response);

                var accessToken = new { Token = collection[0],
TokenSecret = collection[1] };

                // Get the user timeline using OAuth credentials
                response = OAuth.GetProtectedResource(userTimeline,
                                                      "GET",
                                                      key,
                                                      secret,
 
accessToken.Token,
 
accessToken.TokenSecret);


                OAuthTokens accToken = new OAuthTokens();
                accToken.AccessToken = collection[0].ToString();
                accToken.AccessTokenSecret = collection[1].ToString();
                accToken.ConsumerKey = key;
                accToken.ConsumerSecret = secret;

                TwitterStatus TweetStatus = new
TwitterStatus(accToken);
                TweetStatus.Update("test message");
            }

Reply via email to