【问题标题】:Ruby Twitter Applications红宝石推特应用程序
【发布时间】:2011-08-12 18:29:09
【问题描述】:

当用户在 ROR 上运行的博客上发帖时,我正在使用 https://github.com/jnunemaker/twitter 向用户 Twitter 发送推文。 .例如

推文:“我刚刚发布了一个博客 - '我喜欢 ruby​​ on rails' http://link-to-blog.com

我的问题是,当我为不同的人创建许多网站时,我是否必须为每个博客创建一个新的 twitter 开发者应用程序,其中包含个人消费者密钥和秘密,或者有没有办法使用相同的 twitter 应用程序?

谢谢,

亚历克斯

【问题讨论】:

    标签: ruby-on-rails ruby twitter


    【解决方案1】:

    从技术上讲,您可以在各种网站中使用相同的应用程序。只需使用 twitter 在您的所有站点中为您提供的密钥/令牌。

    尽管如此,这是一种不好的做法,因为 twitter 不会记录您从不是您在回调 URL 中指定的页面的页面对 API 的访问。此外,您的用户将返回到您在回调 URL 中指定的那个(并且只是那个)页面,这对于其他站点中的用户来说可能会产生很大的误导。

    最后最重要的原因有以下两个:

    您将比拥有多个应用程序更快地达到请求限制

    您将比拥有多个应用程序更快地达到用户限制

    twitter 管理的限制不是很大,所以我可以告诉你,如果你的访问量很高(发生在我身上两次),twitter 功能将无法工作。或者,如果您的网站在特定时间收到大量访问,它们可能无法正常工作。无论您是否缓存 API,最终都会达到限制。


    这里是关于这个的 twitter 文档:

    缓存。如果您希望大量使用,我们建议您在应用程序或网站上缓存 API 响应。例如,不要尝试在您非常受欢迎的网站的每个页面加载时调用 Twitter API。相反,每分钟调用一次我们的 API 并将响应保存到您的本地服务器,在您的站点上显示您的缓存版本。有关缓存限制的具体信息,请参阅服务条款。

    活跃用户的速率限制。如果您的网站跟踪许多 Twitter 用户(例如,获取他们的当前状态或关于他们的 Twitter 使用情况的统计数据),请考虑仅请求最近登录到您网站的用户的数据。 根据您拥有的用户数量扩展您对 API 的使用。使用 OAuth 通过 API 对请求进行身份验证时,应用的速率限制特定于该 user_token。这意味着,授权您的应用代表他们执行操作的每个用户都有自己的 API 请求桶供您使用。

    只请求你需要的东西,并且只在你需要的时候。例如,轮询 REST API 以查找新数据对于您的应用程序和 Twitter API 都是低效的。而是考虑使用其中一个 Streaming API 作为何时发出 REST API 请求的信号。


    如果您有任何问题,请随时在下方发表评论。当我的网站被一些重要的 Twitter 帐户提及时,我的经历很糟糕

    【讨论】:

    • 嘿eLobato。非常感谢您的回复。是的,我没想到推特会限制你的推文等,这很好。那么 fanbridge 等网站是如何做到的呢?例如,当您单击“与您的 Twitter 帐户链接”时?
    • Twitter REST Api(您将使用的那个,我猜搜索和流式传输对您没有用处)每小时仅允许 150 个未经身份验证的请求和 350 个 OAuth 调用。一旦达到该限制,REST API 将开始检索 HTTP 400 响应。如果您的网站没有专用 IP 服务器,这会有点痛苦,因为相同的 IP 共享相同的“计数器”。你可以用你能找到的最聪明的方式缓存你的请求,以避免经常进入限制,但是在这里你有一个更好的关于如何管理这个的教程:goo.gl/mKhux希望它有帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 2010-12-18
    • 2011-02-10
    • 1970-01-01
    • 2013-10-19
    • 2015-07-16
    相关资源
    最近更新 更多