查询Facebook上好友共享的所有链接的最快方法

查询Facebook上好友共享的所有链接的最快方法,facebook,facebook-graph-api,facebook-javascript-sdk,facebook-fql,facebook-php-sdk,Facebook,Facebook Graph Api,Facebook Javascript Sdk,Facebook Fql,Facebook Php Sdk,我正试图抓取最近几天用户的facebook好友共享的最新链接。假设在过去7天内: 使用FQL,我可以一次为最多20个朋友获取此信息: $fql = "SELECT link_id, owner, created_time, title, summary, url, image_urls FROM link WHERE owner IN (select uid2 from friend where uid1 = me() LIMIT 20) AND created_time >= $_7ag

我正试图抓取最近几天用户的facebook好友共享的最新链接。假设在过去7天内:

使用FQL,我可以一次为最多20个朋友获取此信息:

$fql = "SELECT link_id, owner, created_time, title, summary, url, image_urls FROM link WHERE owner IN (select uid2 from friend where uid1 = me() LIMIT 20) AND created_time >= $_7ago";
如果我将好友数限制从20设置为更高,查询将崩溃。我目前的解决方案是重复这个查询,在一个循环中将1000个朋友分成20人一组。这确实有效,但运行起来需要五分钟以上

我也尝试过用这种方式进行多重查询(速度没有提高):

是否有更快的替代方案/解决方案


多查询也可用于触发多个不相关的查询。首先获取friend UID,然后通过将UID分块创建单独的查询,并立即启动所有查询。在js sdk中,这看起来像:

FB.api({
方法:“fql.multiquery”,
查询:[
'从链接中选择所有者、所有者注释、标题、摘要、url、图像url,其中所有者位于('+chunk0+')并创建了时间>='+time,
'从链接中选择所有者、所有者注释、标题、摘要、url、图像url,其中所有者位于('+chunk1+')并创建了时间>='+time,
'从链接中选择所有者、所有者注释、标题、摘要、url、图像url,其中所有者位于('+chunk2+')并创建了时间>='+time
]},功能(结果){
console.log(results);//包含单个查询结果的数组
var query_results=null;
var行=null;
对于(变量i=0,l=results.length;i对于(var i2=0,l2=query_results.fql_result_set.length;i2tanks)。查询速度更快,加载时没有任何错误。但我无法显示此查询的结果(直接输出数据时为空)。是否有一种特定的方式可以读取/显示此查询结果?添加了示例迭代循环和可能返回的数据的屏幕截图(图像大小已调整为文章大小,右键单击,查看图像为可读版本)
"links":"select uid2 from friend where uid1 = me() LIMIT 20",
"stats":"SELECT owner, owner_comment, title, summary, url, image_urls FROM link WHERE owner IN (select uid2 from #links) AND created_time  >= \"' . $_7ago . '\""