使用FQL或API, Facebook图片点赞花费的时间太长


Facebook picture likes takes too long using FQL or API

我使用这个脚本来获取一些(公开的)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'