Kobarin's Development Blog

C#やASP.NETなどについての記録です。

最速(たぶん)、Twitter API でタイムラインをTable化

言葉の使い方がイマイチかもしれませんが、
ようは、あるTwitterユーザーののつぶやきをTable(本解説ではGridView使用)に表示するプログラムを簡単につくってみました。

本解説の対象者は、「ASP.NETTwitterを呼び出すプログラムを、とりあえずコピペだけで作りたい。」な人です。

tw2grid.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="tw2grid.aspx.cs" Inherits="tw2grid" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title>Twitter 2 Table</title></head>
<body>
  <form id="form1" runat="server">
  <asp:GridView ID="gvTubuyaki" runat="server" />
  </form>
</body>
</html>
tw2grid.aspx.cs
using System;
using System.Data;
using System.Xml;

public partial class tw2grid : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    const string twUserName = "hatoyamayukio";      //TwitterユーザーID
    const int numCount = 5;                         //出力するステータス数
    const int numPage = 1;                          //ページ指定の場合のページ番号

    const string strXmlPathFormat = "http://twitter.com/statuses/user_timeline.xml?screen_name={0}&count={1}&page={2}";
    string strXmlPath = String.Format(strXmlPathFormat, twUserName, numCount, numPage);

    XmlTextReader reader = new XmlTextReader(strXmlPath);
    DataSet ds = new DataSet();
    ds.ReadXml(reader);
    gvTubuyaki.DataSource = ds.Tables[1];
    gvTubuyaki.DataBind();
  }
}

いったんDataTable化している理由は、カラムの削除や派生カラムを作りやすいと判断したためです。