ラベル Twitterizer の投稿を表示しています。 すべての投稿を表示
ラベル Twitterizer の投稿を表示しています。 すべての投稿を表示

2011-10-07

[C#] Twitterizerでユーザプロファイルデータを取ってくる

Twitterrizerでユーザのプロファイル情報を取ってくる方法です。特に何か難しいことはなく、TwitterUserクラスを利用して、任意のユーザの名前を指定して情報を得ることができます。
 TwitterResponse showUserResponse = TwitterUser.Show("oyouji");
 TwitterUser user = showUserResponse.ResponseObject;
 userPicBox.ImageLocation = user.ProfileImageLocation;
 lbUserName.Text = user.ScreenName;
これを実行すると下記のようになります。

あっけないですね。

2011-07-02

Twitterizerはじめの一歩

ちょっと触った印象だが、かなり使いやすい気がする。ただ、
  • 一部実装できてないようなクラスがあったりする
  • 日本語のサイトが少ない(日本では無名?海外でも?)
というところが欠点かな。
参照設定
dllを利用する場合は、
  • Twitterizer2.dll
  • Newtonsoft.Json.dll
の2つを参照設定に追加する。あとは、クラスをstaticに呼び出すだけ。
Tokenの入手方法
OAuthUtilityクラスを用いる。
requestToken = OAuthUtility.GetRequestToken(tokens.ConsumerKey, tokens.ConsumerSecret, "oob");//第2引数はよくわからないのでとりあえずoobとした
 Uri authorizationUri = OAuthUtility.BuildAuthorizationUri(requestToken.Token);
 //ブラウザ起動
Process.Start(authorizationUri.ToString());
//入手したPINCODEを利用してTokenを取ってくる
OAuthTokenResponse accessToken = OAuthUtility.GetAccessToken(tokens.ConsumerKey,tokens.ConsumerSecret, requestToken.Token, txtPincode.Text);

ホームタイムラインを取ってくる
TwitterTimelineクラスを用いる。
TwitterResponse<twitterstatuscollection> statuss= TwitterTimeline.HomeTimeline(tokenss);
 foreach (TwitterStatus tweet in statuss.ResponseObject) {
     Debug.Write(tweet.Text);
 }
            
ユーザタイムラインを取ってくる
TwitterUserクラスを用いる。
TwitterResponse<twitteruser> showUserResponse = TwitterUser.Show(tokenss, "oyouji");
           if (showUserResponse.Result == RequestResult.Success) {
               label2.Text = showUserResponse.ResponseObject.Name + " (" + showUserResponse.ResponseObject.ScreenName + ")";
              Debug.Write(showUserResponse.ResponseObject.Status.Text);
           }
上記コード内の細かいところは、適当に無視&マニュアルを参照のこと。

OAuthTokensクラスの扱いがやっかい?
Twitterizerのクラスでは、OAuthに関係するTokenの情報は、OAuthTokensクラスを利用することになっている(上記でいうtokenss変数がそれに相当)。こいつに各種情報を入れておいて渡すだけで、様々なメソッドを実行することが出来る感じ。ただ、これはTwitterizer専用みたいになっていて、一部のフィールドが参照不可になっていたりする。もし、個別にTokenを管理しようと思ってもこのクラスを流用できないので注意。まあ、そんな使い方するのがダメなんでしょうけど。。。。

2011-07-01

[C#]TwitterクライアントライブラリはTwitterizerがイイみたい

C#でTwitterクライアントを実装しているのだが、
Twitterizer
というのがいいらしい。下記のようにクラスが用意されている
  • OAuthUtility ・・・認証系
  • TwitterUser ・・・ ユーザ情報系
  • TwitterStatus ・・・ ステータス処理系
  • TwitterDirectMessage ・・・ダイレクトメッセージ処理系
  • TwitterList  ・・・ リスト機能系
  • TwitterSearch ・・・ 検索処理系
  • TwitterFriendship ・・・各種フォロワーの情報系
  • TwitterFavorite ・・・ Favorite機能系
  • TwitterTimeline  ・・・ タイムライン取得系

ちょっと使い方にクセがあったりもするが、だいたい見切った。今、院生に作らせているアプリはこれに変更する予定。XML周りの処理をしなくても良いというのは便利なところ。。
まあ、研究上では以下のところ特に高機能なものは必要ないのだが、将来的な拡張を考えればこの手のライブラリに手を出しておいて悪くはないだろう。ちょっと心配なのは、こちらがやりたい細かな検索に対応しているのかどうか、、、いろいろ試行錯誤しながら、こまかなプログラムについてはこのBLOGでも取り上げておこうと思う。