Đây là một cách khác để thực thi nhiều truy vấn fql trong khoảng thời gian ngắn.
// $ 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 được mảng json của toàn bộ kết quả của thre truy vấn.
Và nó tiết kiệm rất nhiều thời gian. 3 truy vấn này riêng lẻ mất tổng cộng 9 giây. Với nhiều thứ, nó mất 7 giây. Và với yêu cầu hàng loạt phải mất 3,6 giây.
Nguồn
2012-03-09 14:16:37
Bạn đã đọc tài liệu về API đồ thị chưa? http://developers.facebook.com/docs/api – inkedmn
chắc chắn tôi đã làm và tôi không hiểu làm thế nào để làm điều đó – user63898
Sử dụng API đồ thị bạn không thể. Tuy nhiên, api FQL vẫn có sẵn, như nhiều người đã đề cập. – Yuliy