【问题标题】:Developing/Testing Twitter apps without slamming the API在不抨击 API 的情况下开发/测试 Twitter 应用程序
【发布时间】:2010-10-23 09:40:44
【问题描述】:

我目前正在开发一个与 Twitter 配合使用的应用程序,但在开发/测试时(尤其是那些不严重依赖真实 Twitter 数据的部分),我想避免经常访问 API 或发布垃圾信息推文。

是否有人们使用的通用策略来简化 API(缓存除外)?我正在考虑推出我自己的库,该库基本上会拦截传出请求并返回模拟响应,但我想首先确保我没有遗漏任何明显的东西。

【问题讨论】:

    标签: web-services twitter


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      缓存可能是最好的解决方案。除此之外,我相信 API 限制为每小时 100 个请求。因此,也许可以创建一个函数来持续计算每个请求,当它接近 100 时,它会说,好的,每 10 个 API 请求我将提取数据。它不会很难设置,可能是一个梯度函数,当你接近极限时会停止。

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

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

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

          http://twitter.com/help/request_whitelisting

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-05-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多