はじめに
node.js を触り始めてみました。Twitter Streaming API を色々と弄りたいなと思い導入しようとしたのですが、色々と躓いて時間がかかってしまいました。今は何とか安定して使える環境になったのでメモを残しておきます。
環境
- Ubuntu 10.04
- node 0.6.9
- npm 1.1.15
導入
ここを参考にさせて頂きました。
基本的にはこの流れでやれば良いのですが、2点躓いたのでメモ。
バージョン
./nave.sh use latest
とやると 2012/04/04 時点で、0.7.7 が入りますが、後々色々と困ったので 0.6.9 を入れました。
./nave.sh use 0.6.9
Twitter Streaming API につなげる
ここを参考にすれば色々なツイートを取得することができます。
例えば、以下の URL では Basic 認証すればランダムに選ばれたツイートが垂れ流されてきます。
試しにここに繋いでみましょう。
https での Basic 認証については以下のサイトを参考にしました。
app.js
var util = require('util'); var https = require('https'); var host = 'stream.twitter.com'; var request = https.get( { host : host, port : 443, path : '/1/statuses/sample.json', auth : 'USERNAME:PASSWORD' }, function(response) { console.log('Response: ' + response.statusCode); } ); request.on('error', function(e){ console.log(e); }); request.on('response', function(response) { response.on('data', function(chunk) { var tweet = JSON.parse(chunk); if ('user' in tweet && 'name' in tweet.user) { util.puts('[' + tweet.user['name'] + ']\n' + tweet.text); } }); }); process.on('uncaughtException', function (err) { console.log('uncaughtException => ' + err); });
USERNAME と PASSWORD は自分のものに置き換えて下さい。これで以下のコマンドを実行するとずらーっとツイートが出力されます。
node app.js