如何在facebook批量请求中一起使用fql和graph api?

时间:2012-01-18 08:14:24

标签: facebook facebook-graph-api facebook-fql facebook-batch-request

如何在facebook批量请求中一起使用fql和graph api?我想使用图形api和我朋友最近30天的帖子使用fql获取关于我的个人资料信息。

1 个答案:

答案 0 :(得分: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获取整个thre查询结果的json数组。

这节省了很多时间。这3个查询总共需要9秒。使用multiquery需要7秒。批量请求需要3.6秒。