こんにちは。開発担当の林です。
今回はタイトル通りPHP(5.2以上)で、とあるページの、はてブコメントと、ツイート、Facebook いいね!数を簡単に取得するためのテンプレ用ソースコードです。
最低限のコードですが、比較的よく使われるものなのかなと思ってまとめました。
何かのお役に立てれば幸いです。
※ 本記事は、各サービスの公式 API を使っています。
(`・ω・´)
はてブコメントと関連エントリーの取得
<?php // とあるページのアドレス(任意のアドレスをどうぞ) $sample_url = 'http://www.fenrir.co.jp/'; // はてブの情報取得 $hatena_json_uri = 'http://b.hatena.ne.jp/entry/json/?url='.rawurlencode($sample_url); $result = file_get_contents( $hatena_json_uri ); $hatena_result_array = json_decode($result); // 以下に扱う変数を出しているので適宜好きなように取り扱ってね。 // サムネイル画像のアドレス(string 型) $hatena_result_array->screenshot; // はてブ数(string 型) $hatena_result_array->count; // 関連エントリー foreach ($hatena_result_array->related as $val_relEntry) { // はてブ数(string 型) $val_relEntry->count; // タイトル(string 型) $val_relEntry->title; // 記事のURL(string 型) $val_relEntry->url; } // 記事へのコメント分だけ、ループを回してます。 foreach ($hatena_result_array->bookmarks as $val_entry) { // ユーザー名(string 型) $val_entry->user; // コメント(string 型) $val_entry->comment; // タグ(この時点ではまだ配列で、タグの数だけ string 型で格納) $val_entry->tags; // 時間(string 型 ex. "2011/11/04 18:56:19" ) $val_entry->timestamp; }
ツイートの取得
<?php // とあるページのアドレス(任意のアドレスをどうぞ) $sample_url = 'http://www.fenrir.co.jp/'; // ツイートの取得 (rpp は取得件数) $twit_atom_uri = 'http://search.twitter.com/search.atom?rpp=10&q='.rawurlencode($sample_url); $result = file_get_contents( $twit_atom_uri ); $twit_xml = simplexml_load_string($result); // 以下に扱う変数を出しているので適宜好きなように取り扱ってね。 // ツイートの数だけ、ループを回してます。 foreach ($twit_xml->entry as $val_tweet) { // メッセージ ID (string 型にキャスト) (string)$val_tweet->id; // メッセージ ID を使う場合は 'tag:search.twitter.com,2005:' を消しておくと扱いやすい $ret_id = str_replace('tag:search.twitter.com,2005:', '', (string)$val_tweet->id); // 日付 (string 型にキャスト) (string)$val_tweet->updated; // a タグ付きツイート本文(string 型にキャスト) (string)$val_tweet->title; // テキストのみのツイート本文(string 型にキャスト) (string)$val_tweet->content; // ユーザー名(string 型にキャスト) (string)$val_tweet->author->name; // ユーザーのプロフィールアドレス(string 型にキャスト) (string)$val_tweet->author->uri; // ユーザーの画像のアドレス(string 型にキャスト) (string)$val_tweet->link[1]->attributes()->href; // ツイートのアドレス(string 型にキャスト) (string)$val_tweet->link[0]->attributes()->href; }
Facebook いいね!数を取得
公式ドキュメントには、いいね!数以外にも取得する方法があるので見てみてね。
<?php // とあるページのアドレス(任意のアドレスをどうぞ) $sample_url = 'http://www.fenrir.co.jp/'; // いいね!数の取得 $like_xml_uri = 'http://api.facebook.com/method/fql.query?query=select+total%5Fcount+from+link%5Fstat+where+url%3D%22'.rawurlencode($sample_url).'%22'; $result = file_get_contents( $like_xml_uri ); $like_xml = simplexml_load_string($result); // いいね!数(この値がずばりそのもの)(string 型にキャスト) (string)$like_xml->link_stat->total_count;
以上となります。実際に使うときはエラー処理を忘れずにね。
素敵なウェブサービス、ブログの開発にお役立てください。
—
フェンリルのオフィシャル Twitter アカウントでは、フェンリルプロダクトの最新情報などをつぶやいています。よろしければフォローしてください!