blueberryfields
blueberryfields

Reputation: 50468

What's the simplest sample program for twitter4r which is likely to work?

I'm trying the following sample code, and failing (the uid and password I'm using are valid). Is there something I'm missing, or a simpler example I can try?

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)

prompt> 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

Upvotes: 0

Views: 231

Answers (2)

Susan Potter
Susan Potter

Reputation: 565

@blueberryfields you will need to use the OAuth API that Twitter4R v0.5.0+ supports. This is due to Twitter.com mandating OAuth authentication as of August 2010. Supplying the login and password of your username is no longer supported either via Twitter4R, twitter.com or any other Twitter API client.

There is a fantastic tutorial on using OAuth with Twitter4R at this blog: http://blog.monnet-usa.com/?p=342

HTH,

@SusanPotter -- Author of Twitter4R

PS Also check out @t4ruby for updates to Twitter4R

Upvotes: 2

meklarian
meklarian

Reputation: 6625

Twitter doesn't allow basic Auth (username+password) logins through their API anymore.

You should look for a method that supports OAuth-based login.

You'll need to fetch OAuth keys for your application, which can be done from the following links. The first link allows you to enroll a new application, the second one allows you to see what applications you've registered.

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

A more in-depth guide is available at the following link. You will want to read this as OAuth requires at least two steps to authenticate before you can use the twitter API.

Authenticating Requests with OAuth

Upvotes: 0

Related Questions