1

我正在尝试在我的博客上创建一个小部件,该小部件可以获取大约 20 个 Twitter 帐户并显示每个帐户的最后两个帖子。目前我有一个基于 jquery 的版本,它为每个帐户运行一个 for 循环。自然地,我很快就遇到了每小时最多 150 个请求。我的问题有两个:

有没有更有效的方法来获取这些信息?比如说开一个推特账户,关注我需要的所有用户,然后只引用我账户的朋友方面?

有没有办法缓存 JSON 响应,这样我就不会遇到限制?或者我是否必须将整个结果写入文件并在达到限制后引用?

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

谢谢大家

4

3 回答 3

2

为了保证显示来自每个帐户的两个帖子,您可能需要分别拉下每个提要。如果一位作者写了 100 条推文,那么在合并的提要中将无法轻松访问其他人的推文。

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

于 2009-09-09T23:10:07.730 回答
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>");
  });
});
于 2012-02-10T08:01:54.477 回答
0

是的,您的建议似乎是最理想的方式。创建一个额外的 Twitter 帐户并使用好友时间线来汇总这些数据。将所有大规模处理保留在 Twitter 端。

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

于 2009-12-17T13:02:26.127 回答