http://developers.facebook.com/docs/reference/javascript/FB.Data.query/

FQLクエリを実行し、非同期のデータ取得のあいだ待機するFB.Data.queryオブジェクトを返します。

Examples

シンプルなFQLを実行し、結果を出力します
 var query = FB.Data.query('select name, uid from user where uid={0}',
                           user_id);
 query.wait(function(rows) {
   document.getElementById('name').innerHTML =
     'Your name is ' + rows[0].name;
 });
ランダムな友達10人の名前とイベントを表示します。2つ以上のテーブルから複数のフィールドを取得する必要があるので、シンプルなFQLクエリでは不十分です。そこで、FB.Data.queryを使って複数クエリを実行します。
 // まず、ログイン中ユーザの友達10人とイベントを取得します。
// このクエリでは、引数は整数一つです(ログイン中のユーザID)
// まだ実行しないことに注意してください。
 var query = FB.Data.query( "select uid, eid from event_member " + "where uid in " + "(select uid2 from friend where uid1 = {0}" + " order by rand() limit 10)", user_id); // 次に、二つの依存するクエリを生成します。
// 友達の名前取得用とイベントの情報取得用です。
 var friends = FB.Data.query( "select uid, name from user where uid in " + "(select uid from {0})", query); var events = FB.Data.query( "select eid, name from event where eid in " + " (select eid from {0})", query); // そして、これら3つのクエリ全てが実行された後に実行されるコールバック関数を指定します。
 FB.Data.waitOn([query, friends, events], function() { // build a map of eid, uid to name var eventNames = friendNames = {}; FB.Array.forEach(events.value, function(row) { eventNames[row.eid] = row.name; }); FB.Array.forEach(friends.value, function(row) { friendNames[row.uid] = row.name; }); // 最後に、全ての結果を表示します。
 var html = ''; FB.Array.forEach(query.value, function(row) { html += '<p>' + friendNames[row.uid] + ' is attending ' + eventNames[row.eid] + '</p>'; }); document.getElementById('display').innerHTML = html; });

Parameters

NameTypeDescription
templateString

FQLクエリのテンプレート。{}の中にパラメータを指定することもできます。

dataObject

オブションの引数です。文字列もしくは整数の実データもしくはFB.Data.queryオブジェクトを渡すことができます。