ruby-on-rails - Twitter Streaming API 与 OAuth?

标签 ruby-on-rails ruby twitter oauth streaming

我已经被这个问题困扰了一段时间了。有谁知道如何使用 OAuth 验证 Twitter Streaming API 请求?截至目前,我正在通过基本身份验证进行身份验证,并且我想完全切换到 OAuth。另外,如果有帮助的话,我正在使用 Ruby on Rails。

谢谢

最佳答案

通过 OAuth 连接到 Twitter Streaming API 的方式与通过 REST API 连接的方式非常相似。假设您已经协商了访问 token ,则可以使用与 REST 请求相同的签名算法来签名并发出请求。对于 Streaming API,最好使用基于 header 的 OAuth,而不是基于查询字符串的 OAuth。

以下是针对示例端点的基于 OAuth 的签名请求的示例:

获取http://stream.twitter.com/1/statuses/sample.json

签名基本字符串示例:

GET&http%3A%2F%2Fstream.twitter.com%2Fstatuses%2Fsample.json&oauth_consumer_key%3Dri8JxYK2ddwSV5xIUfNNvQ%26oauth_nonce%3DUJb0f3nHhFQkpkWkJzxnFT65xX1TZeuGjww6Q2XWs4%26oauth_signature_method %3DHMAC-SHA1%26oauth_timestamp%3D1306947138%26oauth_token%3D819797-torCkTs0XK7H2Y2i1ee5iofqkMC4p7aayeEXRTmlw%26oauth_version%3D1.0

签名后的授权 header :

授权:OAuth oauth_consumer_key="ri8JxYK2ddwSV5xIUfNNvQ"、oauth_nonce="UJb0f3nHhFQkpkWkJzxnFT65xX1TZeuGjww6Q2XWs4"、oauth_signature="bN14zlBIdCZCSl9%2B8UV8dB2VWjI%3D"、o auth_signature_method =“HMAC-SHA1”,oauth_timestamp =“1306947138”,oauth_token =“819797-torCkTs0XK7H2Y2i1ee5iofqkMC4p7aayeEXRTmlw”, oauth_version="1.0"

Matt Harris 有一些 PHP 示例代码,演示通过 OAuth 连接到流 API:https://github.com/themattharris/tmhOAuth/blob/master/examples/streaming.php

关于ruby-on-rails - Twitter Streaming API 与 OAuth?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6204351/

相关文章:

ruby-on-rails - 计算两天之间的工作日数

带索引的 Ruby `each_with_object`

api - 从 twitter API 为每个 userId 检索超过(~3000)条推文。

ruby-on-rails - 如何在 Rails 模型中运行 "do" block ,同时仍列出 :dependent?

ruby-on-rails - rails : Dynamically selecting an attribute for comparison

ruby-on-rails - JWT 在 ruby​​ on rails 上过期 token

Twitter - 分享按钮,但带有图像

c# - LinqToTwitter 多用户授权方

ruby-on-rails - Rails 中良好的后台解决方案

ruby-on-rails - rvm,将 gemset 关联到项目