我目前正在开发一款与Twitter合作的应用程序,但在开发/测试(特别是那些不太依赖真实Twitter数据的部分)时,我想避免不断点击API或发布垃圾推文。开发/测试Twitter应用程序而不会砰地停止API
是否有一个人们使用API来简化它的一般策略(缓存)?我正在考虑推出我自己的图书馆,它将本质上拦截传出的请求并返回模拟响应,但我想确保我首先不会漏掉任何明显的东西。
我目前正在开发一款与Twitter合作的应用程序,但在开发/测试(特别是那些不太依赖真实Twitter数据的部分)时,我想避免不断点击API或发布垃圾推文。开发/测试Twitter应用程序而不会砰地停止API
是否有一个人们使用API来简化它的一般策略(缓存)?我正在考虑推出我自己的图书馆,它将本质上拦截传出的请求并返回模拟响应,但我想确保我首先不会漏掉任何明显的东西。
我可能会先嘲笑你的应用程序所需的API的特定部分。事实上,这实际上可能会迫使你为你的应用程序提供一个更清洁的设计,因为它或多或少要求你根据它应该做的“应该做什么”而不是“应该如何”来考虑应用程序。例如,如果您使用的是Twitter搜索API,那么您的应用程序很可能不应该在乎您是否使用JSON或Atom格式选项。使用给定查询搜索Twitter并获取结果的能力代表了您想要的功能,因此您应该在该抽象级别嘲弄API。输出格式只是一个实现细节。
通过在功能上嘲讽API而不是低级别的实现细节,您可以确保应用程序按照您的期望执行操作,然后才能真正连接到Twitter。此时,您已经验证该应用程序按预期工作,因此剩下的唯一剩下的就是编写代码来创建REST请求并解析响应,这应该相当直接,所以您可能不会最终在那个时候点击了很多垃圾数据。
缓存可能是最好的解决方案。除此之外,我相信这个API每小时只能处理100个请求。因此,也许可以创建一个函数,对每个请求进行计数,当它接近100时,它会说每10个API请求都会提取数据。它不会很难,当你接近极限时可能是一个渐变函数。
我用分享Tweet#,它缓存和应该做你需要的,因为它有Twitter的API的100%覆盖,并在数据库中,然后一些...
http://dimebrain.com/2009/01/introducing-tweet-the-complete-fluent-c-library-for-twitter.html
缓存的东西..一切。如果缓存太旧,请通过API请求最新的数据。
另外考虑让你的应用程序帐户被列入白名单,它将允许你每小时有一个20,000 api的请求限制,而不是一个用户而不是应用程序。