node.jsでtwitter apiを叩く
nodejsからtwitter api v1.1を叩きたいってなったのでやってみた。
node-twitterをインストール
npm install twitter
利用
各種keyは事前に取得しておきましょう。
var twitter = require('twitter'); var t = new twitter({ consumer_key: 'hoge', consumer_secret: 'hoge', access_token_key: 'hoge', access_token_secret: 'hoge' }); t.get('/search/tweets', { q: 'node' }, function (error, tweets, response) { console.log(tweets); });
REST APIだけ。StreamAPIは要件的に不要だったので。
ハマったポイントとしてはいくつか同じ内容の記事がググると出てくるんですが、get()のシグネチャ(正しくは第二引数のfunctionのシグネチャ)が変わったっぽいとこですね。 よくある記事だと第一引数にdataが入ってきてるようになってて上手く取れないなーってなってたんですが、2個目に取得したデータが入ってくるのでそれをとればいけました。
余談
この手のkey関連を含んだgithubのリポジトリに載せるときってみなさんどうやってるんですかね。 設定だけ抜き出して、bitbucketとかのプライベートリポジトリに置きつつ、デプロイ時にごにょごにょするってやろうと思ってますがありなのかな。もっとスマートなやり方もある気がする