Twitter API在使用一小时后会抛出401

时间:2015-04-14 06:42:10

标签: c# twitter twitterizer

生成新的oauth_token和oauth_verifier时,一切正常。我正在使用Twitterizer2 DLL 我在页面加载时使用以下代码存储用户特定的oauth_token和oauth_verifier

        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();

以下代码发布消息时一切正常。我正在为每个用户存储oauthToken和oathVerifer值。

            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/" });

大约一个小时后,下面一行的相同代码抛出错误

var tokens = OAuthUtility.GetAccessToken(....
  

类型&#39; Twitterizer.TwitterizerException&#39;发生在&gt; Twitterizer2.dll中,但未在用户代码中处理

     

{&#34;远程服务器返回错误:(401)未经授权。&#34;}

Twitter App的所有设置均正确无误。它标记为具有回拨网址http://127.0.0.1

的网络应用程序

令牌是否以某种方式过期/重置?重新生成新令牌适用于该用户。任何指针都可以解决这个问题。

0 个答案:

没有答案