twitter連携アプリを作ってみる(1)

| コメント(0) | トラックバック(0)


twitter(ツイッター)とは、"つぶやき"という短いテキストを投稿して公開する

サービス(マイクロブログサービス)である。

 

ま、大抵の人は名前だけは知っていると思いますが、このtwitterには、API

が公開されており、簡単に呼び出して外部アプリ等と連携することができます。

 

今回は、C#.netを使用してアプリケーションを作成してみました。

  • C#.net 2008
  • .net framework2.0

ダウンロード

 

20090913.jpg

 

内容は、テキストボックスに、ユーザ名を入力して表示ボタンを押すと、

リストボックスに最新のつぶやきが50件まで表示されるというシンプルなもの。

 

APIとしては、

http://twitter.com/statuses/user_timeline/ユーザ名.xml?count=50

上記へリクエストした結果のXMLを解析して表示するだけです。

コメント"count"パラメータが取得する最大件数です。

XPathにて"//statuses/status/text"のノードリストを取得します。

 

ソースコード

using System;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Xml;

namespace TwitterApplication
{
    public partial class TwitterForm : Form
    {
        public TwitterForm()
        {
            InitializeComponent();
            lstItems.Items.Clear();
        }

        private String GetTweet(String URL)
        {
            //Request
            HttpWebRequest Request = (HttpWebRequest)WebRequest.Create(URL);
            Request.Method = "GET";
            WebResponse Response = Request.GetResponse();
           
            //Read
            StreamReader Readar = new StreamReader(Response.GetResponseStream());
            String Results = Readar.ReadToEnd();

            //Return
            Readar.Close();
            Response.Close();
            return Results;
        }

        private void btnTimeLine_Click(object sender, EventArgs e)
        {
            String URL = "http://twitter.com/statuses/user_timeline/" + txtUser.Text + ".xml?count=50";
            String XML = GetTweet(URL);
            XmlDocument Doc = new XmlDocument();
            Doc.LoadXml(XML);
            XmlNodeList XMLNodes = Doc.SelectNodes("//statuses/status/text");

            lstItems.Items.Clear();
            lstItems.HorizontalScrollbar = false;
            foreach (XmlNode Node in XMLNodes)
            {
                lstItems.Items.Add(Node.InnerText);
            }
            //ScrollBarSetting
            lstItems.HorizontalScrollbar = true;
        }

        private void TwitterForm_Load(object sender, EventArgs e)
        {

        }
    }
}

 

 

トラックバック(0)

トラックバックURL: http://pg2se.com/mt6/mt-tb.cgi/42

コメントする