我使用这个脚本来获取一些(公开的)facebook图片的点赞:
while ($stmt2->fetch()){
$fql = 'SELECT like_info from photo WHERE object_id='.$id;
$friends = $facebook->api(array(
'method' => 'fql.query',
'query' => $fql,
));
//... do stuff
$i=$i+1;
}
脚本工作正常,但当图片数量超过100时,脚本加载非常慢。可能是因为每一个FQL查询都花费了太多的时间。
有什么方法可以让我做得更快吗?比如做批fql请求之类的?
如果您先生成FQL语句,然后调用它一次,而不是为每个结果调用它,这会更有意义。
SELECT like_info from photo WHERE object_id in ({object_id_1}, {object_id_2}, {...})
然后生成以逗号分隔的object_ids列表。
最近的图形API版本的"官方"端点是
/fql?q={url_encoded_fql_query}
和
method: 'get'