代码之家  ›  专栏  ›  技术社区  ›  Bryan M.

开发/测试Twitter应用程序,而不影响API

  •  7
  • Bryan M.  · 技术社区  · 17 年前

    我目前正在开发一个与Twitter协同工作的应用程序,但在开发/测试(尤其是那些不太依赖真实Twitter数据的部分)时,我希望避免不断点击API或发布垃圾推文。

    人们在API上是否有一个简单易用的一般策略(缓存除外)?我正在考虑滚动我自己的库,它基本上可以截获传出的请求并返回模拟响应,但我想首先确保没有遗漏任何明显的内容。

    4 回复  |  直到 16 年前
        1
  •  11
  •   Mike Spross Alex Martelli    16 年前

    我可能会先模拟应用程序所需的API的特定部分。事实上,这可能会迫使你为你的应用设计出一个更简洁的设计,因为它或多或少地要求你从它应该做什么来考虑你的应用,而不是从它应该怎么做来考虑。

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

    通过在功能上模拟API而不是在低级实现细节上模拟API,您可以确保应用程序在实际连接到Twitter之前按预期执行。在这一点上,你已经验证了这个应用程序是否按预期工作,所以剩下的唯一的事情就是编写代码来发出其余的请求并解析响应,这应该是相当简单的,所以你可能不会在推特上得到很多垃圾数据。

        2
  •  2
  •   David Weitz    17 年前

    缓存可能是最好的解决方案。除此之外,我相信API限制为每小时100个请求。所以,可以创建一个函数,它不断地计算每个请求,当它接近100时,它会说,好的,每10个API请求,我就会提取数据。这不会是硬设置,可能是一个梯度函数,当你接近极限时会抑制。

        3
  •  0
  •   Chad Grant    17 年前

    我已经使用tweet,它缓存和应该做你需要的一切,因为它有100%的twitter的API覆盖,然后一些…

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

        4
  •  0
  •   Chad Cache    17 年前

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

    还可以考虑将您的应用程序帐户白名单,它将允许您每小时有20000个API请求限制,而很少有100个(这是为用户而不是应用程序而制定的)。

    http://twitter.com/help/request_whitelisting