我一直坚持这一段时间。有谁知道如何使用OAuth验证Twitter Streaming API请求?截至目前,我通过基本身份验证进行身份验证,并且我想完全切换到OAuth。另外,如果有帮助,我使用Ruby on Rails。Twitter使用OAuth流媒体API?
感谢
我一直坚持这一段时间。有谁知道如何使用OAuth验证Twitter Streaming API请求?截至目前,我通过基本身份验证进行身份验证,并且我想完全切换到OAuth。另外,如果有帮助,我使用Ruby on Rails。Twitter使用OAuth流媒体API?
感谢
连接到通过OAuth Twitter的流API完成大部分相同,通过REST API连接。假设您已经协商了一个访问令牌,您可以使用与REST请求相同的签名算法签署和发出请求。使用Streaming API时,最好使用基于头的OAuth,而不是基于查询字符串。
下面是样品终点签名基于OAuth的请求的例子:
GET 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
认证头签署后:
授权:OAuth的oauth_consumer_key = “ri8JxYK2ddwSV5xIUfNNvQ”,oauth_nonce = “UJb0f3nHhFQkpkWkJzxnFT65xX1TZeuGjww6Q2XWs4”,oauth_signature = “bN14zlBIdCZCSl9%2B8UV8dB2VWjI%3D”,oauth_signature_method = “HMAC-SHA1”,oauth_timestamp = “1306947138”,组oauth_token = “819797-torCkTs0XK7H2Y2i1ee5iofqkMC4p7aayeEXRTmlw”,oauth_version = “1.0”
马特哈里斯在PHP一些示例代码通过OAuth展示连接到流API:https://github.com/themattharris/tmhOAuth/blob/master/examples/streaming.php
尝试OmniAuth宝石你http://dev.twitter.com注册您的应用程序后,支持多种外部供应商https://github.com/intridea/omniauth
这是它是如何在Perl
完成:
#!/usr/bin/perl
use strict;
use AnyEvent::Twitter::Stream;
if ($ENV{FIREHOSE_SERVER}) {
$AnyEvent::Twitter::Stream::STREAMING_SERVER = $ENV{FIREHOSE_SERVER};
}
my $done = AE::cv;
binmode STDOUT, ":utf8";
my $streamer = AnyEvent::Twitter::Stream->new(
consumer_key => 'KEY',
consumer_secret => 'SECRET',
token => 'TOKEN',
token_secret => 'TOKEN SECRET',
method => "filter",
track => "KEYWORDS TO TRACK",
on_tweet => sub {
# CUSTOM CODE HERE
},
on_error => sub {
my $error = shift;
warn "ERROR: $error";
$done->send;
},
on_eof => sub {
$done->send;
},
);
$done->recv;
你应该使用这个宝石:Tweetstream它坐落在顶部em-twitter
嗨,我看着你的答案,现在我明白如何构建基本字符串和授权标题。然而,现在我被困在如何将数据正确地发布到ruby的Twitter流中。截至目前,我正在使用yajl创建一个httpstream,只使用基本身份验证发布到Twitter流。 – 2011-06-02 18:53:19