はね丸のWEB工房

Twitter APIを使用して特定ユーザーのタイムラインを取得と題して、情報共有をします

はね丸のWEB工房WEB API>投稿記事を個別表示

このエントリーをはてなブックマークに追加

Twitter Developers


最近のソーシャルメディアの中では、成功を収めているといっても過言ではないツイッター。
ツイッターは幅広く使われており、そこに集まるつぶやきも膨大なものに。

今回はその膨大なつぶやきを条件を付けて取得し、自分のサイトで活用するためのやり方を書きます。
手法としては実に簡単、Twitter APIを使用しまして、チョチョイとデータを取ってきちゃいましょう。

スポンサーリンク

oAuthを使用せずにTwitterタイムラインを取得

2010年の8月に、セキュリティ的に問題はあったがお手軽だったベーシック認証が廃止され、今はoAuth(オーオースと読むらしい)という認証方式が採用されています。

使用するユーザーにとっては嬉しい変更ですが、開発者にとっては手順が複雑でかなり面倒…。

私はここで一旦挫折しました。(笑)

今回はそのoAuthを使用せずに、ツイッターのタイムラインを取得する方法を書いてみます。
全てを説明するのは大変ですので、表題にあるように特定ユーザーのタイムライン取得に絞ります。


$api_url=http://search.twitter.com/search.atom?q=from:twedasuke&rpp=100;
$resdata=file_get_contents($api_url);
$twitterdata=simplexml_load_string($resdata);

以上、非常に簡単なコードで、ツイッターのタイムラインが取得できます。
本当は「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はかなり頻繁に仕様変更を行うため、情報がチープ化している可能性が高いです。
何かのためにも、本家サイトはおさえておいた方が良いです。


Twitter 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番は合わせワザでして、どちらか少ない方が適用されます。


最後でズッコケタ形になってしまいましたが、アイデア次第では面白い事ができるかもしれません。
覚えておいて損は無いと思います。


スポンサーリンク
hanemaru_comをフォローしましょう このエントリーをはてなブックマークに追加
カテゴリー WEB API
キーワード WEB API,twitter API,Twitter Search API,PEAR,ツイッター








※コメントは管理人の承認後、表示されます。

コメントを受け付けました。
コメントは管理人の承認後、表示されます。

表示順:新規順 | 投稿順 | 人気順 | 注目順