2009-09-03 64 views
1

我试图在我的博客上创建一个窗口小部件,它抓取了大约20个Twitter帐户并显示每个帐户的最后两个帖子。目前我有一个基于jQuery的版本,为每个帐户运行for循环。当然,我很快就遇到了每小时150个请求的问题。我的问题有两个:多用户推特供稿

是否有更有效的方法来获取此信息?假设开一个推特帐户,跟随我需要的所有用户,然后参考我帐户的朋友方面?

有没有办法缓存JSON响应,所以我没有碰到极限?或者我是否必须将整个结果写入一个文件,并且一旦限制已经被触发就引用它?

我还应该提到我正在使用的平台是Wordpress/LAMP,但我不在乎最终的技术是什么,我打开闪存等来完成这项工作。

感谢所有

回答

2

为了保证显示来自每个帐户两个职位,你可能需要拉每个单独喂下去。如果一位作者写了100条推文,那么在合并的Feed中就不会有其他人的推文。

最好的办法是让一些PHP为你下载推文,并将它们暂时缓存在服务器上,而不是在客户端使用jQuery和AJAX。一个相当简单的Wordpress插件可以做到这一点,如果你可以做PHP。亚历克斯金写了一个Twitter WordPress plugin它可以拉下一个帐户,也许你可以修改它订阅更多。

0

是的,你的建议似乎是最理想的方式。创建一个额外的Twitter帐户,并使用好友时间表来聚合这些数据。保持Twitter上的所有大规模处理。

只要确保将结果缓存在服务器端大约一分钟左右。

0

可以使用Twitter的搜索API从一个请求中获取来自多个用户的最新推文。 q参数可能需要多个from:user值。下面是一个使用jQuery的简单例子:

var query = escape("from:biz OR from:twitter OR from:bob"), 
    url = "http://search.twitter.com/search.json?callback=?&q=" + query; 

$.getJSON(url, function(data){ 
    $.each(data.results, function(i, tweet){ 
    $('body').append("<p>" + tweet.text + " by " + tweet.from_user_name + "</p>"); 
    }); 
});