こんにちは。開発担当の林です。
今回はタイトル通り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 アカウントでは、フェンリルプロダクトの最新情報などをつぶやいています。よろしければフォローしてください!









