【问题标题】:Twitter gem, Heroku, Internal server errorTwitter gem,Heroku,内部服务器错误
【发布时间】:2012-01-12 03:13:10
【问题描述】:

我之前没有使用过 Twitter API。

我有一个 Sinatra 应用程序被推送到 Heroku,它使用了 Twitter gem。我在应用程序中做的唯一一件事(就 Twitter 而言)就是提取我的 5 条最新推文。

  @tweets = Twitter.user_timeline("username").first(5)

但是,昨晚我无法让它工作,Heroku 抛出了一个内部服务器错误,日志告诉我:

2011-12-03T11:30:08+00:00 app[web.1]: Twitter::Error::BadRequest - : Rate limit exceeded. Clients may not make more than 150 requests per hour.:

和堆栈跟踪。重新启动应用程序使其再次工作。

今天我醒来,检查了我的 Heroku 应用程序,我再次收到内部服务器错误..

我可以做些什么来完成这项工作?有没有办法让它缓存推文以防它抛出一个 BadRequest 错误,或者有没有办法让 Twitter 获得无限(或几乎无限)的请求?

我没有进行身份验证或其他任何事情。有点迷茫。

【问题讨论】:

    标签: ruby twitter heroku sinatra twitter-gem


    【解决方案1】:

    您似乎遇到了Twitter's Rate limit 的未授权用户/帐户:

    REST API 执行基于帐户和 IP 的速率限制。未经身份验证的呼叫允许每小时 150 个请求。未经身份验证的调用是根据发出请求的服务器或设备的面向公众的 IP 来衡量的。

    尝试使用OAuth认证:

    OAuth 调用每小时允许 350 个请求,并根据请求中使用的 oauth_token 进行衡量。

    【讨论】:

    • 酷。谢谢,我会试试的。奇怪的是,我刚醒来,我认为在我睡着的时候没有人访问过我的网站,但我得到了错误。
    • 也许您网络中的其他人在那一小时内访问了这些提要?谁知道? )
    • 是的,有可能。我将添加 OAuth 身份验证并重试 :) 非常感谢您的快速回复!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 2015-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多