【入力】
Twitterを利用しています。
【出力】
Twitterに書き込まれたtweetのうち
1.「#swannow、#awaynow」というハッシュタグを含み
2.「スワンなう」(http://twitter.com/swannow)からフォローされている
という2つの条件を満たすものがパーツに表示されます。
【ブログ貼り付け用のスクリプト】
[php light=”true”]
[/php]
【プログラム】
Twitterから必要なデータを抽出してくるサーバー側のプログラム(php)と、サーバーから取り出したデータをブラウザ上に表示させるスクリプト(javascript)の2本立てになっています。
サーバー側のプログラム
Twitterからのデータ取得の手順は
- スワンなうさんがフォローしている人の一覧をTwitterから取得し、配列に格納する
- 「#swannowまたは#awaynow」というハッシュタグ検索結果をjson形式でTwitterから取得する(100件)
- 「2」で取得した検索結果のうち、投稿者名が「1」の配列に含まれているものを抜き出し、そのtweetsで新たな配列を作成する
- 「3」で作られた配列を、json形式のファイルとしてサーバー上に書き出す
このphpプログラムを、サーバー上のcronで一定時間おきに実行させ、データファイルを更新しています。
ブラウザ側のプログラム(ブログに貼り付けるjavascript)
jQueryの$.getJSON()で、サーバー上にあるjson形式のデータファイルをコールバック関数付きで呼び出します。
ブラウザに書き出す際、スタイルシートを読み込む方式にしようと思っていたのですが、ブログパーツという性格上、ブログ全体の表示に悪影響を及ぼさないとも限らないので、こちらもjQueryのcss(name, value)を使って各IDに直接スタイル属性を設定するようにしました。
関数全体を、setTimeout()を使って1分毎に実行するようにしてあります。