新しいOpenGraphAPIを使用してFQL(Facebookクエリ言語)クエリを実行する方法を探していますが、成功していません。
誰かが私がこれを行う方法を知っていますか?
この優れた例でここに答えを見つけました: http ://code.google.com/p/facebook-cpp-graph-api/
新しいOpenGraphAPIを使用してFQL(Facebookクエリ言語)クエリを実行する方法を探していますが、成功していません。
誰かが私がこれを行う方法を知っていますか?
この優れた例でここに答えを見つけました: http ://code.google.com/p/facebook-cpp-graph-api/
Graph API と JavaScript を使用して FQL クエリを実行する方法の例を次に示します。
FB.api(
{
method: 'fql.query',
query: 'SELECT uid, first_name, last_name FROM user WHERE uid = ' + someUid
},
function(data) {
// do something with the response
}
);
これは、ここに示すように、Facebook のガイドラインに従ってページを既にセットアップしていることを前提としています - http://developers.facebook.com/docs/reference/javascript/
PHP ソリューション:
$data = $facebook->api(array('method' => 'fql.query', 'query' => 'SELECT columns FROM table...' ));
Javascript SDK を使用すると、以下を使用してこれを実現できます。
FB.api('fql', { q: 'query here' }, function (response)
{
//Logic here
};
従来の REST API は必要ありません。これについては多くの混乱が見られますが、Facebook は明確にしていません。
これは、短期間に複数のfqlクエリを実行するもう1つの方法です。
// $ current_user = facebook id
$query1="SELECT uid, name FROM user WHERE is_app_user=1 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = $current_user)";
$query2="SELECT uid, name, work_history FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = $current_user )";
$query3="SELECT uid, name, work, education FROM user WHERE uid = $current_user";
$queries = array(
array('method'=>'GET', 'relative_url'=>'method/fql.query?query='.str_replace(' ','+',$query1)),
array('method'=>'GET', 'relative_url'=>'method/fql.query?query='.str_replace(' ','+',$query2)),
array('method'=>'GET', 'relative_url'=>'method/fql.query?query='.str_replace(' ','+',$query3))
);
$objs = $facebook->api('/?batch='.json_encode($queries), 'POST');
$ objsは、3つのクエリの結果全体のjson配列を取得します。
そして、それは多くの時間を節約しています。この3つのクエリは、個別に合計9秒かかります。マルチクエリでは7秒かかります。バッチリクエストの場合、3.6秒かかります。
FQL with PHPここでは、FQL の使用方法を示します。現在の facebook api ドキュメントを注意深く見ると、非常に簡単です。Facebook API の問題に関する記事を読まずに、ドキュメントを直接見る方がよい場合もあります。