什么是twitter4r最简单的示例程序可能有用吗?

时间:2011-04-12 23:24:48

标签: ruby twitter

我正在尝试以下示例代码,并且失败(我正在使用的uid和密码有效)。有什么我想念的,或者我可以尝试一个更简单的例子吗?

testing.rb:

require('rubygems')
gem('twitter4r','>=0.2.0')
require('twitter')

client = Twitter::Client.new(:login => 'uid', :password => 'password')

ARGV.each do |a|
    @message = "#{a}"
end

status = client.status(:post, @message)

提示> ruby testing.rb“test”

/Library/Ruby/Gems/1.8/gems/twitter4r-0.6.0/lib/twitter/client/base.rb:120:in
`raise_rest_error': Unauthorized
(Twitter::UnauthorizedError)    from
/Library/Ruby/Gems/1.8/gems/twitter4r-0.6.0/lib/twitter/client/base.rb:125:in
`handle_rest_response'  from
/Library/Ruby/Gems/1.8/gems/twitter4r-0.6.0/lib/twitter/client/base.rb:23:in `rest_oauth_connect'   from
/Library/Ruby/Gems/1.8/gems/twitter4r-0.6.0/lib/twitter/client/status.rb:42:in `status'     from testing.rb:11

2 个答案:

答案 0 :(得分:2)

@blueberryfields您需要使用Twitter4R v0.5.0 +支持的OAuth API。这是因为Twitter.com要求截至2010年8月进行OAuth身份验证。不再通过Twitter4R,twitter.com或任何其他Twitter API客户端提供用户名的登录名和密码。

在这个博客上有关于在Twitter4R上使用OAuth的精彩教程: http://blog.monnet-usa.com/?p=342

HTH,

@SusanPotter - Twitter4R的作者

PS另请查看@ t4ruby以获取Twitter4R的更新

答案 1 :(得分:0)

Twitter不再允许通过其API进行基本的Auth(用户名+密码)登录。

您应该寻找支持基于OAuth的登录的方法。

您需要为应用程序获取OAuth密钥,可以通过以下链接完成。第一个链接允许您注册一个新的应用程序,第二个链接允许您查看您注册的应用程序。

New Twitter Application @ dev.twitter.com
Twitter Applications (Existing) @ dev.twitter.com

以下链接提供了更深入的指南。您需要阅读此内容,因为OAuth至少需要两个步骤才能使用twitter API进行身份验证。

Authenticating Requests with OAuth