C#でTwitterアプリを作ってみた
最近、ぼそぼそと使っているTwitter。
やや過剰かと思うほど政治や企業でも利用されてきているサービスです。
ちなみに、SATOXのアカウントは以下。フォローうぇるかむです♪
と言うわけでひとまず調べて.NET/C#で作ってみました。

だめついったー!(笑)
まだIDとかパスワードがプログラムに埋め込まれてるので、satoxpochi専用です(笑)。
HTTPリクエストを使って、XML情報が取得できます。
具体的には、以下のような感じ。
(1)"
: "をBase64エンコードしてベーシック認証ヘッダとする。
(2)以下のURLでHTTP GET
http://twitter.com/statuses/friends_timeline.xml
これだけです。
ブラウザで上記URLにアクセスするだけでもXMLが取得できます。このとき、ID、パスワードを要求されます。
取得したXMLにはユーザの発言はもちろん、プロフィールや画像などが含まれています。
取得するURLを以下に変えると、そのユーザの発言のみ取得できます。
(1)"
: "をBase64エンコードしてベーシック認証ヘッダとする。
(2)以下のURLでHTTP POST (URL Encoded)
http://twitter.com/statuses/update.xml?status=
このメッセージもBase64エンコードしておく必要があります。
詳しくは以下のサイトで。
■Twitter API Wiki / FrontPage
余談ですが、この「だめついったー」はその名の通りダメなんですが(笑)、ウェブ上の画像を直接ビットマップにする方法が分からず、一度画像をファイルにしてから読み込んでいます。
using (WebClient wc = new WebClient()) { wc.DownloadFile(url, @"a.jpg"); } using (FileStream fs = new FileStream(@"a.jpg", FileMode.Open, FileAccess.Read)) { Image image = Image.FromStream(fs); }
ほら、ひどい(笑)。
Image.FromFileはどうもファイルがロックされるままになるというバグがあるみたいでした。
この記事を書きながら以下にしてみましたが、速度はほとんど変わりませんね…。そもそも通信が遅い。
using (WebClient wc = new WebClient()) { this.image = new Bitmap(wc.OpenRead(this.url)); }
というわけで、だめついったークライアントを作ってみたというお話。
何か特徴のある機能をTwitterと融合させないと、意味ないよなー。
アイディア募集でっす。