2011年06月22日に投稿

[PHP]FacebookのAPIを使って、特定のURLのいいね数を取得する

FacebookのAPIを使って、特定のURLの「いいね」が押された数を取得します。GETリクエストを送信することで、XMLで返却されるのですがリクエスト先のURLが特殊です。リクエスト先のURLはFQLと呼ばれる、Facebook専用の問い合わせ言語を使用します。サンプルコードは下記になります。

2行目
なぜ2行目にSQLが?と思われるかもしれませんが、これがFQLです。文法的にはSQLとほぼ同じなのでSQLを知っていれば何をしているかはすぐに分かると思います。link_statテーブルの中で、urlフィールドがhttp://codaholic.org/?p=54であるtotal_countフィールドを抜き出すという内容を表しています。つまり、他のURLのいいね数を取得したい場合は、urlの箇所を差し替えるだけです。FQLについては、別途調べて記事を書きたいと思います。

参考:
Facebook Query Language (FQL) – Facebook開発者
http://developers.facebook.com/docs/reference/fql/

3行目から5行目
FQLをurlencodeしたものをqueryの値として連結したURLにGETリクエストを送信します。XMLで結果が返却されますので、simplexml_load_stringでパースします。あとは目的の値にアクセスをします。FQLによって取得したい値を絞り込んでいるので結果は非常にシンプルになっていました。$xmlをvar_dumpした結果を下記に記載します。

関連記事

2 Responses to “[PHP]FacebookのAPIを使って、特定のURLのいいね数を取得する”

  1. […] [PHP]FacebookのAPIを使って、特定のURLのいいね数を取得する « Codaholic FacebookのAPIを使って、特定のURLの「いいね」が押された数を取得します。 via codaholic.org […]

  2. […] これも調べたらすぐわかりました。こちらも公式APIになります。まぁ、簡単な例がありましたのでこちらのサイトを参考にしても良いでしょう。[PHP]FacebookのAPIを使って、特定のURLのいいね数を取得する […]

Leave a Reply