TwiierAPIをコールするサーバ
TwitterAPIのホワイトリストが終了してしまったため、TwitterAPIを利用したサービスはAPIの利用制限を考慮しながら作らなければなりません。
TwitterAPIのREST版の制限は
150回/1IP/1時間(無記名)
350回/1IP/1時間(記名)
になります。
検索APIは非公開ですがRESTよりも多いとされています。
この制限よりもAPIの利用が多くなってしまう場合、IPアドレスを増やすしか方法がありません。
そこで、TwitterAPIを利用する場合、TwitterAPIをコールするサーバを複数立てて、そこを経由する方法を考えました。
言語はrubyでサーバ機能はWebrickを使いました。TwitterAPIはgemのtwitterを利用しています。
返値はjsonにしました。multi_jsonはgemのtwitterをインストールする時に付いてきたものです。
ソースは以下の通りです。
http://localhost:8000/?q=Twitter
でアクセスすると検索結果が帰ってきます。
TwitterAPIのREST版の制限は
150回/1IP/1時間(無記名)
350回/1IP/1時間(記名)
になります。
検索APIは非公開ですがRESTよりも多いとされています。
この制限よりもAPIの利用が多くなってしまう場合、IPアドレスを増やすしか方法がありません。
そこで、TwitterAPIを利用する場合、TwitterAPIをコールするサーバを複数立てて、そこを経由する方法を考えました。
言語はrubyでサーバ機能はWebrickを使いました。TwitterAPIはgemのtwitterを利用しています。
返値はjsonにしました。multi_jsonはgemのtwitterをインストールする時に付いてきたものです。
ソースは以下の通りです。
## coding: utf-8
require 'twitter'
require 'webrick'
require 'multi_json'
s = WEBrick::HTTPServer.new(
:Port => 8000,
)
s.mount_proc("/") {|req, res|
res['Content-Type'] = 'text/plain; charset=UTF-8'
res.body = MultiJson.encode(Twitter::Search.new.q(req.query['q']).fetch)
}
trap("INT"){ s.shutdown }
s.start
http://localhost:8000/?q=Twitter
でアクセスすると検索結果が帰ってきます。