我有一个应用程序,我用特定的哈希标签来推送推文。当我找到哈希标记时,如果用户不存在,则应用会自动创建用户。当用户通过Twitter登录时,我希望能够与他们的朋友一起使用该应用程序。问题是对于有大量朋友的Twitter用户,最大响应为100,我必须继续使用API达到10次以获得拥有1000个朋友的用户。
另外,在提取朋友信息时,我应该只是将朋友缓存在数组中并移动到匹配的数组中,这样我就不必再次点击API了吗?
答案 0 :(得分:0)
鉴于大多数Twitter应用程序对API调用都有每小时的限制,你真的应该缓存几乎所有内容。在删除任何信息之前,请检查缓存以查看您是否拥有数据。
如果您担心数据是如何更新的,那么请在缓存中加上时间戳。当您尝试从缓存中访问某些内容时,请检查到现在的时间差是否大于某个已定义的数量(取决于您的数据需要的新鲜程度以及您可以使用请求多少次点击服务器)以及是否已进入并刷新数据。
这有点像编写一个好的网络爬虫(杰夫阿特伍德似乎建议只由谷歌完成)。写一些会试图从互联网上拉下来的东西很容易,但写一些能以可持续,可管理的方式做的事情会更加困难。
Twitter一直明智地强迫人们通过在其API上设置“每小时访问次数”来思考这些问题。
答案 1 :(得分:0)
我发现了一个API调用,只返回Twitter用户的朋友的ID并返回5000以上,然而,尝试返回所有。电话会议的文档位于:http://apiwiki.twitter.com/Twitter-REST-API-Method:-friends%C2%A0ids
我所做的是从API调用中获取响应,并使用IN创建了一个SQL语句。这样,我现在可以通过SQL处理我的所有排序等,而不是做一个讨厌的数组比较。