2010年4月26日月曜日

JavaScript用TwitterAPIライブラリを一応公開します。

ブログのサブタイトルにTweetを表示するために作ったJavaScript用TwitterAPIライブラリを公開します。ライブラリーといっても、まだ、ユーザータイムライン取得関数しかないのですが・・・。
でも、他のにも簡単に対応出来るようには作ってあります。(一夜漬けでJavaScriptの勉強をし直して頑張りました)。時間があるときにでも追加していこうと損ってはいます。
ソース:twitterapi-v001.js
使い方のサンプルは下記のとおり。
<html>
<head>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript" src="twitterapi-v001.js" charset="utf-8"></script>
<script type="text/javascript">
//<!--
function test()
{
    //ユーザタイムラインの取得
    //Twiiterから応答がかえってきたときのコールバック関数と取得するユーザのTwitterアカウントを指定する。
    StatusesUserTimeline(callback, "twitteraccount");
}
//コールバック関数
function callback(Response) //TwitterからのレスポンスはJSON形式
{
    ClearSession(Response);  //後処理
    var t = document.getElementById("test");
    t.innerHTML = Response[0].text;
}
//-->
</script>
</head>
<body>
<form>
<input type="button" value="テスト" onclick="test()">
</form>
<div id="test"></div>
</body>
</html>

サンプルの実行結果は下のような感じになります。
テストボタンを押すと
image
最新のTweetが表示されます。
image
Responseからは、Tweetの内容以外にもいろいろな情報が取れます。取れる情報はTwitter API Documentation(英語)を参照ください。
StatusesUserTimelineのパラメータにはaccount以外も指定できます。これもTwitter API Documentation(英語)に準拠していますので参照ください。(でも、account以外のパラメータ指定は試していないので動くかどうか・・・)
あっと、書くのを忘れかけましたが、本ライブラリ(1関数しかないけど)で使用しているAPIはREST API Methodです。
JavaScript、いままではなんかフニャフニャな感じの言語仕様なので、避けて通っていたのですが、やってみるとなかなか奥が深くて面白いです。フニャフニャがいい感じです。クロージャは強力だな造。
あっと、もう一つ書き忘れそうになりました。TwitterのAPIでは認証が必要なものがあるのですが、それには、このライブラリでは対応出来ません。Twitterの認証はOAuthかBasic認証なのですが、いろいろ調べたところ、JavaScriptではたぶん無理そうです。JavaScriptは基本的にクロスドメインがダメなのが原因。JSONPという奇策・裏技(誰考えたんだろう頭いいな造)で、クロスドメインに対応している状態なので。 Basic認証ぐらいは・・・と損ったのですが、IEでは無理とかそもそもセキュリティ甘くね、という問題があるのでやめました。Twitter APIのサイトでも今年の6月でBasic認証やめるみたいなことも書いてあったし。


ライブラリ(と言っても1関数)を作成する際に参考にさせていただいたサイトを書いておきます。

[鏡] 入門 JSON 3 -- JSONP とコールバック関数 -- 戯れ言++
第ニ章 JavaScript関数の基本を知る
Twitter API Wiki / Twitter API Documentation
第4回 JavaScriptでオブジェクト指存プログラミング
Javascriptで知っておくべき知識 > &列とオブジェクトと連想&列
■ [Web ]Basic認証 付きURL
サンクス。


0 件のコメント:

コメントを投稿