2017年3月8日

Twitter検索APIを利用する


ハッシュタグでツイート検索し、件数を取得するのが目的です。


最近、必要に迫られて情報収集しました。ちょっと前までは非公式ではあるもののTwitter謹製のAPI( count.json )があり比較的簡単に取得できたようですが、2015年?頃に終了したようです。ネットで検索すると現在は使えないこの昔のやり方の記事がヒットするのでちょっと戸惑いました。


 count.json と同様の機能があるサードパーティー製API count.jsoon というものがあるようなのですが、仕事で使うのはちょっと…という感じです。

現在の公式APIは1週間前までのツイートしか取得できない、一回で100件までしか取得できない、取得回数に制限があるなど、いろいろ制限があります。セキュリティとトラフィックの問題があるので致し方ないでしょう。そこは工夫で何とかすることにして使てみることにしました。


・Twitterアカウント

当然アカウントが必要です。APIを使用するには電話認証が必要となります。


・アプリケーションの作成

Twitterディベロッパーセンターにログインし、アプリケーションを作成します。このへんの情報はいくらでも見つかりますので割愛します。


最終的に以下の文字列を取得します。
Consumer Key
Consumer Secret
Access Token
Accesss Token Secert


・プログラム

ここからはプログラミングの世界です。以前に書いた「Youtubeの再生回数を取得する」ではAPIキーさえ手に入れば後はURLでアクセスするだけだったのですが、Twitterの場合はひと手間必要です。OAuthで認証しますのでリクエストヘッダーを作らなければならないからです。

ここらへんも良く分かっていない( REST と SOAP の違いもよくわからない)私が説明するより良いサイトがありますので紹介します。特に最初に上げたサイトが私の目的(ハッシュタグで検索)・手段(PHP)が合致していたので、ほぼそのまま流用させてもらいました。感謝です。

Twitter APIで世の中の声を拾おう!

Twitter REST APIの使い方

また、後者のサイトの別ページにパラメーターの説明があり、こちらも非常に参考になりました。

GET statuses/user_timeline - ユーザータイムラインを取得する

APIの機能制限についてはこちらのサイトが詳しいです。ただし、この手の仕様はすぐに改訂されるのが常なので、最新情報を追っていかないといつの間にか「プログラムが機能していなかった!」という事態になりそうです。

TwitterのAPI制限 [2016/10/20現在] 






0 件のコメント:

コメントを投稿