TwitterのストリーミングAPIでタイムラインを取得するためにはGitHubにあるPhirehoseを使えばいいらしい

Twitter_logo_blue

TwitterのストリーミングAPIの機能を使って、指定したキーワードにマッチしたタイムラインを取得しようと考えています。

先日、PHPでfopen関数を使ったり、curl関数を使ったりすればいいと書いてしまいましたが、これらの関数を使ってストリーミングを取得するのは、どうも違うみたいです。

目次

ストリーミングAPIはGitHubのPhirehose

stackoverflowでのQ&Aを見ると、「ストリーミングAPIを使いたかったらGitHubにUPしているPhirehoseというライブラリが良い」とのことです。Phirehoseはこちら

もう少しstackoverflowをぐるぐる回ってみると、別のQ&AでストリーミングAPIを簡単に使えるPhirehoseのコードがのっています。

このコードを、GitHubでダウンロードしたフォルダの内容と照らし合わせたら、ストリーミングAPIが使えそうです。

Phirehoseを日本語で解説してくれサイト

ただ英語は苦手なので、日本語のサイトはないものかと、としつこくGoogleを検索していると、Phirehoseを使っているサイトを発見しました。このありがたい日本語サイトを要約すると、

  • コードはPhirehose内でexmpleフォルダにあるfilter-oauth.php。これを使う
  • 2つある、/libディレクトリのパスを変更(../lib/ではなく./lib/)
  • defineのところにTwitterのOAuth認証キーを入れる(4つ)
  • $sc->consume(); の前の行に $sc->setLang(“ja”); を加えておく

実行すると、任意のキーワードに関するストリーミングラインが出てくるらしいですが、残念ながら、私の場合は出てきませんでした。

phirehose1

コードを実行すると、“loading”の文字列が出ずっぱりとなります。Twitterのサーバーへのアクセスは出来ているようですが、つぶやきが出てきません。

もちろんキーワードは、”山手線”とか”中央線”など、常時誰かがつぶやいてそうなキーワードを使っています。

自分の使っているサーバーによって、Twitterのサーバーへのアクセス可否が変わるのかと思い、「さくらのレンタルサーバー」から「さくらのクラウド」に変えてみましたが、やはり”loading”が出っ放しです。なぜだ?

〔参考サイト〕

Twitter_logo_blue

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次