【问题标题】:Twitter api headers with ruby带有 ruby 的 Twitter api 标头
【发布时间】:2011-07-17 13:59:58
【问题描述】:
主要是为了获得即时速率限制(在此处解释 ›https://dev.twitter.com/docs/rate-limiting#feature-limiting),以便尽可能以最干净的方式调用服务:在每个请求中,都可以通过 X-FeatureRateLimit-Limit、X-FeatureRateLimit-Remaining 和X-FeatureRateLimit-Reset 在响应头中发送。
可以通过调用另一个端点 (https://dev.twitter.com/docs/api/1/get/account/rate_limit_status) 来获取这些信息,但是,在某些时候似乎会消耗您的配额,这使它变得无关紧要。
我的问题是,不可能知道如何阅读那些特定的标题......
可能不是那么难,但是,如果任何人的帮助,谢谢。
【问题讨论】:
标签:
ruby
web-services
twitter
http-headers
custom-headers
【解决方案1】:
您可以使用 twitter API wrapper 来处理 http 标头本身:
def initialize(message, http_headers)
@http_headers = Hash[http_headers]
super message
end
def ratelimit_reset
Time.at(@http_headers.values_at('x-ratelimit-reset', 'X-RateLimit-Reset').detect{|value| value}.to_i)
end
def ratelimit_limit
@http_headers.values_at('x-ratelimit-limit', 'X-RateLimit-Limit').detect{|value| value}.to_i
end
def ratelimit_remaining
@http_headers.values_at('x-ratelimit-remaining', 'X-RateLimit-Remaining').detect{|value| value}.to_i
end