如何使用twitterizer2获取用户时间线

时间:2012-11-07 23:30:17

标签: c# asp.net twitter twitterizer

我正在使用twitterizer2尝试获取用户最近的几条推文,然后使用oAuth而不是用户屏幕名称将它们写入表中,但我是twitterizer的新手,所以我不知道该怎么做。

        var step = Request.QueryString["p"].ToString();
        var key = ConfigurationManager.AppSettings["twitterKey"];
        var secret = ConfigurationManager.AppSettings["twitterSecret"];

        if (step == "1")
        {
            var reqquest = OAuthUtility.GetRequestToken(key, secret, "http://localhost:2480/Site/Default2.aspx?p=2").Token;
            Response.Redirect(OAuthUtility.BuildAuthorizationUri(reqquest, true).AbsoluteUri);
        }

        else if (step == "2")
        {
            var token = Request.QueryString["oauth_token"];
            var verifier = Request.QueryString["oauth_verifier"];

            OAuthTokenResponse getTokens = OAuthUtility.GetAccessToken(key, secret, token, verifier);

            var oAuth_token = new OAuthTokens();
            oAuth_token.AccessToken = getTokens.Token;
            oAuth_token.ConsumerKey = key;
            oAuth_token.ConsumerSecret = secret;
            oAuth_token.AccessTokenSecret = getTokens.TokenSecret;

            TwitterResponse<TwitterStatusCollection> tweets = TwitterTimeline.UserTimeline(oAuth_token);

            foreach (var tweet in tweets.ResponseObject)
            {
                Response.Write(tweet.Text);
            }

            //TwitterStatus.Update(oAuth_token, "hello");
        }

我该怎么做? 感谢

1 个答案:

答案 0 :(得分:1)

您应首先获取用户的oAuth令牌。

首先你需要用户的accessstoken。您可以使用

检索这些内容
var requestToken = OAuthUtility.GetRequestToken("consumerKey", "consumerSecret", "your return url").Token;
Response.Redirect(OAuthUtility.BuildAuthorizationUri(requestToken, true).AbsoluteUri);

这应该要求您登录Twitter。你将返回到你设置的返回URL,在QueryString中使用oauth_token和oauth_verifier。这些是accessstokens。

现在,您可以使用这些令牌通过

检索此用户的推文
 TwitterResponse<TwitterStatusCollection> tweets = TwitterTimeline.UserTimeline(authorization_tokens);

通过做这样的事情来迭代这些

 foreach (var tweet in tweets.ResponseObject)
 {
      string tweetText = tweet.Text;
 }