Twitter APIを使用して特定ユーザーのタイムラインを取得と題して、情報共有をします
最近のソーシャルメディアの中では、成功を収めているといっても過言ではないツイッター。
ツイッターは幅広く使われており、そこに集まるつぶやきも膨大なものに。
今回はその膨大なつぶやきを条件を付けて取得し、自分のサイトで活用するためのやり方を書きます。
手法としては実に簡単、Twitter APIを使用しまして、チョチョイとデータを取ってきちゃいましょう。
2010年の8月に、セキュリティ的に問題はあったがお手軽だったベーシック認証が廃止され、今はoAuth(オーオースと読むらしい)という認証方式が採用されています。
使用するユーザーにとっては嬉しい変更ですが、開発者にとっては手順が複雑でかなり面倒…。
私はここで一旦挫折しました。(笑)
今回はそのoAuthを使用せずに、ツイッターのタイムラインを取得する方法を書いてみます。
全てを説明するのは大変ですので、表題にあるように特定ユーザーのタイムライン取得に絞ります。
以上、非常に簡単なコードで、ツイッターのタイムラインが取得できます。
本当は「simplexml_load_file」を使用することで2行に短縮できるのですが、「Cache_Liteでキャッシュできない」や「楽天APIのようにエラーになるケースがある」ことから、私はこのようにしています。
赤字の「atom」部分ですが、ここでは取得データのフォーマット(形式)を指定します。
jsonとatomの2種類が用意されていますが、PHPであればatomの方が使いやすいですので、今回はatomを指定しています。
赤字の「twedasuke」部分ですが、ここでは取得するタイムラインのユーザー名(スクリーンネーム)を指定します。
今回の指定ですと、ツイッターのサポートアカウントのつぶやきが取得できます。
自分自身はもちろんのこと、他のユーザーのつぶやきも取得できます。
ただし、非公開に設定していなければ、ですが。
赤字の「100」部分ですが、ここでは取得するタイムラインの:件数(最大は100件)を指定します。
今回の指定ですと、最大の100件分を取得できます。
これで「$twitterdata」につぶやきデータが格納されます。
実際の形式については、「print_r」などを使用して確認してみてください。
また、他のパラメータに関しては「Twitter DevelopersのGET search」に書かれていますので、そこを参照してください。
日本語で解説されたサイトもありますが、ツイッターのAPIはかなり頻繁に仕様変更を行うため、情報がチープ化している可能性が高いです。
何かのためにも、本家サイトはおさえておいた方が良いです。
かなりお手軽に使える今回のAPIですが、お手軽ゆえに制限がかなりキツイです。
1.APIリクエストはIPアドレス単位に1時間につき150回まで
2.取得できるタイムラインは最大1500件まで
3.取得できるタイムラインは6~9日前まで
一番キツイのが1番ですね。
APIをコールするWEBサーバのIPアドレスになりますので、実質1つのサイトでは1時間につき150回までしかコールできず、アクセスの多いサイトではキャッシュの実装が必須となります。
また共用のレンタルサーバの場合、同一サーバ上で他のユーザーがこのAPIを使っていたら…コール回数は合わせて150回になるかも?です。
3番は6~9日と公式サイトに書かれていますが、私が試したところ5日前までしか取得できないようです。
2番と3番は合わせワザでして、どちらか少ない方が適用されます。
最後でズッコケタ形になってしまいましたが、アイデア次第では面白い事ができるかもしれません。
覚えておいて損は無いと思います。
Tweet | ||
カテゴリー | : | WEB API |
キーワード | : | WEB API,twitter API,Twitter Search API,PEAR,ツイッター |
コメントを記入する
コメントを受け付けました。
コメントは管理人の承認後、表示されます。