Dies ist eine andere Möglichkeit, mehrere fql-Abfragen in kurzer Zeitspanne auszuführen.
// $ 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');
$ bekommt objs json Array von ganzen Folge von dre Abfragen.
Und es spart viel Zeit. Diese 3 Abfragen dauern insgesamt 9 Sekunden. Mit Multiquery dauert es 7 Sekunden. Und mit Batch-Anfrage dauert es 3,6 Sekunden.
FB.api('fql', { q: 'query here' }, function (response)
{
//Logic here
};
Keine alte REST-API erforderlich:
Haben Sie die Graph-API-Dokumentation gelesen? http://developers.facebook.com/docs/api – inkedmn
sicher, ich tat, und ich habe nicht verstanden, wie es geht – user63898
Mit der Grafik API können Sie nicht. Allerdings ist die FQL-API immer noch verfügbar, wie mehrere Personen erwähnt haben. – Yuliy