1

Everything works when new oauth_token and oauth_verifier gets generated. I am using Twitterizer2 DLL I am storing user specific oauth_token and oauth_verifier using below code at page load

        if (Request["oauth_token"] == null)
        {
               OAuthTokenResponse reqToken = OAuthUtility.GetRequestToken(
                        oauth_consumer_key,
                        oauth_consumer_secret,
                        Request.Url.AbsoluteUri);
                if (Request["tsecure"] == "true")
                {
                       Response.Redirect(string.Format("https://twitter.com/oauth/authorize?oauth_token={0}", reqToken.Token));
                }
                else
                {
                       Response.Redirect(string.Format("http://twitter.com/oauth/authorize?oauth_token={0}", reqToken.Token));
                   }
        }

        string oauthToken = Request["oauth_token"].ToString();
        string oauthVerified = Request["oauth_verifier"].ToString();

Everything works fine on below code for posting a message. I am storing oauthToken and oathVerifer values per user.

            var tokens = OAuthUtility.GetAccessToken(
                oauth_consumer_key,
                oauth_consumer_secret,
                requestToken,
                pin);

            OAuthTokens accesstoken = new OAuthTokens()
            {
                AccessToken = tokens.Token,
                AccessTokenSecret = tokens.TokenSecret,
                ConsumerKey = oauth_consumer_key,
                ConsumerSecret = oauth_consumer_secret
            };


                   TwitterResponse<TwitterStatus> response = TwitterStatus.Update(accesstoken, strTweet, new StatusUpdateOptions() { UseSSL = true, APIBaseAddress = "http://api.twitter.com/1.1/" });

After about an hour same code at below line throws error

var tokens = OAuthUtility.GetAccessToken(....

An exception of type 'Twitterizer.TwitterizerException' occurred in >Twitterizer2.dll but was not handled in user code

{"The remote server returned an error: (401) Unauthorized."}

All setting are correct for Twitter App. Its marked as web application with call back URL http://127.0.0.1

Are tokens getting expired/reset somehow ? Regenerating new tokens works fine for that user. Any pointers to solve this issue.

MvsW
  • 97
  • 1
  • 11
  • According to [this questions](http://stackoverflow.com/questions/14194337/twitter-oauth-refresh-token), twitter does not expire OAuth2 tokens. However, do you always fetch new tokens with your `OAuthUtility.GetAccessToken(..`? Because maybe the user generated access code for the token retrieval expires and you're generating new tokens for every request instead of re using the supplied one. – GeorgDangl Apr 14 '15 at 07:12
  • I am using the same token. Not calling to generate token again, once I have them. – MvsW Apr 14 '15 at 16:20
  • In your last paragraph, you mentioned that regenerating tokens works fine. Do you need user interaction for this? If not, then you could just catch a 401 error and retry generating a new token once before you throw the exception. – GeorgDangl Apr 14 '15 at 16:48
  • I am storing first time generating tokens in a DB and reusing them for my next call. I will prefer not generating tokens again. – MvsW Apr 15 '15 at 06:24

0 Answers0