雑記 - otherwise

最近はDQ10しかやっていないダメ技術者がちまちまと綴る雑記帳

WebService から情報を取得するアプリケーションの作成 (1)

現時点で 5 つ程 Marketplace にアプリケーションを登録していますが、実のところ通信を伴うアプリケーションがひとつもありません。
折角のスマートフォンなのに通信しないのはもったいないので、 WebService から情報を取得するものを作ってみたいと思います。

今回の題材

この手の題材としてはベタですが、 Twitter のタイムラインを取得するアプリケーションを作ってみます。
どうせなので、ハッシュタグ検索、 OAuth 認証を伴う Home Timeline / User Timeline の取得、つぶやきの投稿、 User Streams を利用したタイムラインの取得までをやってみようと思います。
なお、 Twitter には他にも お気に入り、 Direct Message 、フォロワー情報、リストなどの機能もありますが、基本的なものを抑えておけば、後は接続する API やパラメータが違うだけで同様の手順で対応可能だと思われます。

Windows Phone の通信処理は非同期、 Windows Phone で非同期処理と言えば……

セッションアフターフォロー記事でも書いた通り、非同期処理は記述が煩雑になりやすいので、 Rx を利用して記述します。
また、 Twitter では WSDL も XSD も公開されていません。そのため WebClient や WebRequest / WebResponse を使用して自前でアクセス処理を記述する必要がありますが、これらのクラスをそのまま使うのはまた面倒ですので、 やはりアフターフォロー記事で紹介した ReactiveProperty の AsynchronousExtensions を利用させて頂きましょう。

まずはつなぎ先を知る

対向の WebService が自分で作成したものは別として、接続先の仕様を知らなければつなぎようがありませんので、まずは Twitter WebService の仕様を確認しておきます。
なお、今回は Windows Phone での WebService アクセスがメインなので、個々の Twitter API の詳細については特に説明は行いません。

検索 API
Stream API