Archive for 2012年6月17日

Twitterizer

2012年6月17日

Twitterizer を使うと簡単ですね。

次は、アプリケーションでの例です。Web は少し違うので注意。

using Twitterizer;

string consumerKey = “…”;
string consumerSecret = “…”;
Twitterizer.OAuthTokenResponse reqToken = null;

認証

reqToken = Twitterizer.OAuthUtility.GetRequestToken(consumerKey, consumerSecret, “oob”);
Uri uri = Twitterizer.OAuthUtility.BuildAuthorizationUri(reqToken.Token);
System.Diagnostics.Process.Start(uri.ToString());

ユーザー情報

string name= “…”;

TwitterResponse<TwitterUser> userResp = TwitterUser.Show(name);
TwitterUser user = userResp.ResponseObject;
string  screenName = String.Format(“ScreenName: {0:s}\r\n”, user.ScreenName);
string userId = String.Format(“ID: {0:d}\r\n”, (int)user.Id);

サーチ

string searchText = “…”;

TwitterResponse<TwitterSearchResultCollection> ret
= TwitterSearch.Search(searchText);
          TwitterSearchResultCollection results = ret.ResponseObject;

          for (int i = 0; i < results.Count; i++)
          {
              string msg = results[i].Text;
              msg += “\r\n”;
              msg += “UserID : ” + results[i].FromUserId + “\r\n”;
              msg += “—–\r\n”;
          }

 

Twitterizer の非同期のコードサンプル

2012年6月17日

Code Camp 2011Twitterizer-TLHCodeCamp2011.zip のサンプルより。

using Twitterizer;

OAuthTokens tokens = new OAuthTokens()
{
    ConsumerKey = “…”,
    ConsumerSecret = “…”,
    AccessToken = “…”,
    AccessTokenSecret = “…”
};

TimelineOptions options = new TimelineOptions();
options.Count = 200;

IAsyncResult asyncResult = TwitterTimelineAsync.HomeTimeline(tokens, options, new TimeSpan(0, 1, 0), res =>
    {
        if (res.Result != RequestResult.Success)
        {
            BeginInvoke(new Action(() =>
            {
                MessageBox.Show(…);
            }));

            return;
        }

        BeginInvoke(new Action(() =>
            {
                this.TimelineGridView.DataSource = res.ResponseObject;
            }));
    });