シンプルなクライアントの作成
では、画面にステータスを表示するシンプルなクライアントを作成してみましょう。このアプリケーションは2つの部分で構成されています。ステータスオブジェクトを表示するシンプルなWPFベースのListBox、そしてTwitterの複雑なXML/JSON形式を簡素化するクラスです。
リスト2は、ステータスの更新を表すドメインオブジェクトです。このオブジェクトは3つのプロパティを備えています。メッセージテキスト、投稿者のスクリーン名、投稿者の画像のURLです。
Public Class Status
Private _Text As String
Public Property Text() As String
Get
Return _Text
End Get
Set(ByVal value As String)
_Text = value
End Set
End Property
Private _ScreenName As String
Public Property ScreenName() As String
Get
Return _ScreenName
End Get
Set(ByVal value As String)
_ScreenName = value
End Set
End Property
Private _ImageURL As String
Public Property ImageURL() As String
Get
Return _ImageURL
End Get
Set(ByVal value As String)
_ImageURL = value
End Set
End Property
End Class
次に示すのは、本稿の冒頭で示したURLから取得したステータス更新を表示するListBoxのXAMLコードです。
<ListBox IsSynchronizedWithCurrentItem="True" x:Name="lstResults" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" >
<Image Height="100" Width="100"
Source="{Binding Path=ImageURL}"/>
<StackPanel>
<TextBlock Text="{Binding Path=Text}"/>
<TextBlock Text="{Binding Path=ScreenName}"/>
<TextBlock Text="----------"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
次のコードは本稿で紹介した機能を組み合わせて、Twitterのデータのクエリと表示の両方を実行するようにしたものです。
Dim TwitterLib As New TwitterLib
Dim URL As String = _
"http://.../statuses/user_timeline/rodpaddock.json"
Dim Results As String = TwitterLib.GetTweet(URL)
Dim JsonSerializer As New _
System.Web.Script.Serialization.JavaScriptSerializer
Dim ReturnObject As Object = _
JsonSerializer.DeserializeObject(Results)
Dim StatusList As New List(Of Status)
For Each StatusObject As Object In CType(ReturnObject, Array)
StatusList.Add(New Status With _
{ _javascript:showSupportItem('listing2');
.Text = StatusObject("text"), _
.ScreenName = StatusObject("user")("screen_name"), _
.ImageURL = StatusObject("user")("profile_image_url") _
})
Next
Me.lstResults.ItemsSource = StatusList
このコードは、rodpaddockのタイムラインをJSON形式で返すよう要求し、JSONシリアライザを使用して、返されたデータを.NET配列に変換します。この配列はシンプルなPOCO(Plain Old CLR Objects)のリストに変換されます。このリストは、サンプルのWPFフォームで表示されます。
このコードの実行結果を図2に示します。
まとめ
Twitter APIは一見すると難しそうに見えますが、簡単なツールとテクニックを使って、わずか数分でアプリケーションをTwitterに対応させることができます。Twitterでフォローする相手を探している方は、以下をチェックしてみてください。
Twitterのプログラミングについてさらに詳しい情報を求めている方は、以下のリソースを参照ください。

