映画でも話題になっている世界最大コミュfacebookの勉強をしてて、
ご存知の1日30億おされているという「いいね」ボタンの情報引き出しがしたいとうことで、
方法を下記にメモします。
日本語ドキュメントがなさすぎて、英語ができないとエンジニアもむずかしい時代になりましたね。。
※ちなみに下記情報まだ途中なので、大分中途半端です。
FQLのテーブル・カラム情報は下記より参照できます。
http://developers.facebook.com/docs/reference/fql/like/
また、FQLの試し打ちは下記からできます。
http://developers.facebook.com/docs/reference/rest/fql.query
■user_idからlikeしたurlをおう?fql
select user_id from like where object_id in(select id from object_url where url="http://apps.facebook.com/sightspacestation/")
サブクエリも使えることにびっくりです、、あとは、実行してみるとuser_idがはいっているので、ここからユーザー情報などを引っ張ればOKという感じです。
試しにjavascriptで実行するとこんな感じ。
FB.api(
{
method: 'fql.query',
query: '
select url from object_url where id in(select object_id from like where user_id=100000296844344)'
},
function(response) {
alert(response.length);
for (var i = 0; i < response.length; i++) {
alert('url' + response[i].url);
}
}
);
追記メモ:
逆にlikeしたurlからuser_idを出そうとすると、空で返ってくるケースがある、object_urlテーブルからのobject_idは、photoなのかlinkなのか、
ただしいタイプを渡してあげる必要がありそうですが、それを正しくやった上でも空になるケースがある。。。どなたかその原因を教えていただけると幸いです。何かファンページ内のリンクしか返さないとか制約があるのかなと気になっております。。