我目前正在开发一款适用于Twitter的应用程序,但在开发/测试时(特别是那些不太依赖真实Twitter数据的部分),我想避免经常访问API或发布垃圾邮件鸣叫。

人们使用一般策略来简化API(缓存除外)吗?我正在考虑滚动我自己的库,基本上拦截传出的请求并返回模拟响应,但我想确保我没有遗漏任何明显的第一个。

有帮助吗?

解决方案

我可能会首先模拟您的应用程序所需的API的特定部分。事实上,这可能会迫使您为您的应用程序设计一个更干净的设计,因为它或多或少要求您根据“什么”来考虑您的应用程序。它应该而不是“怎么样”应该这样做。

例如,如果您使用的是Twitter Search API,那么您的应用程序很可能不应该关心您是否使用JSON或Atom格式选项。使用给定查询搜索Twitter并获得结果的能力代表了您想要的功能,因此您应该在该抽象级别模拟API。输出格式只是一个实现细节。

通过在功能方面而不是在低级实现细节方面模拟API,您可以在实际连接到Twitter之前确保应用程序执行您期望的操作。此时,您已经验证了应用程序按预期工作,因此唯一剩下的就是编写代码来发出REST请求并解析响应,这应该是相当简单的,所以您可能不会最终在那时用很多垃圾数据打击Twitter。

其他提示

缓存可能是最好的解决方案。除此之外,我认为API限制为每小时100个请求。因此,可能会创建一个不断计算每个请求的函数,当它接近100时,它说,好的,每10个API请求我将提取数据。它不会很难设置,可能是一个渐近函数,当你接近极限时它会被限制。

我使用过Tweet#,它会缓存并且应该做你需要的一切,因为它有100%的twitter的api覆盖,然后是一些......

http:/ /dimebrain.com/2009/01/introducing-tweet-the-complete-fluent-c-library-for-twitter.html

缓存数据库中的内容...如果缓存太旧,则通过API请求最新数据。

另外考虑将您的应用程序帐户列入白名单,它将允许您每小时获得20,000 api请求限制,而不是可用100(这是针对用户而非应用程序)。

http://twitter.com/help/request_whitelisting

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top