Question

This ruby script does not run. It responds with

/Users/superhappyfuntime/Desktop/twt.rb:25: undefined local variable or method `xsFEEyGKDPcnhJ5JoPJKg' for main:Object (NameError)
from /Library/Ruby/Gems/1.8/gems/twitter-1.7.2/lib/twitter/configuration.rb:80:in `configure'
from /Users/superhappyfuntime/Desktop/twt.rb:24 

This is after the user inputs.

How do I fix it? Also, if it helps, here is the script:

#!/usr/bin/ruby

require "rubygems"
require "twitter"


puts "Welcome! TwitNIX (A.K.A. 'clt') posts to Twitter from the command line!"


puts "your token, please:"

please = gets.chomp




puts "...aaand your secret_token:"

secret_token = gets.chomp

puts "You're Done!"


Twitter.configure do |config|
 config.consumer_key = xsFEEyGKDPcnhJ5JoPJKg
 config.consumer_secret = **CENSORED**
 config.oauth_token = please 
 config.oauth_token_secret = secret_token
 end


client = Twitter::Client.new



puts "Now,  post an update:"

update = gets

client.update("update")


puts "Now, post an update:"

update = gets

client.update("update")

Once this is fixed, my pogram should be done. PLEASE HELP!!

Update: Now it shows:

/Library/Ruby/Gems/1.8/gems/twitter-1.7.2/lib/faraday/response/raise_http_4xx.rb:12:in `on_complete': POST https://api.twitter.com/1/statuses/update.json: 401: Read-only application cannot POST (Twitter::Unauthorized)
    from /Library/Ruby/Gems/1.8/gems/faraday-0.7.5/lib/faraday/response.rb:9:in `call'
    from /Library/Ruby/Gems/1.8/gems/faraday-0.7.5/lib/faraday/response.rb:62:in `on_complete'
    from /Library/Ruby/Gems/1.8/gems/faraday-0.7.5/lib/faraday/response.rb:8:in `call'
    from /Library/Ruby/Gems/1.8/gems/faraday-0.7.5/lib/faraday/request/url_encoded.rb:14:in `call'
    from /Library/Ruby/Gems/1.8/gems/faraday-0.7.5/lib/faraday/request/multipart.rb:13:in `call'
    from /Library/Ruby/Gems/1.8/gems/twitter-1.7.2/lib/faraday/request/twitter_oauth.rb:17:in `call'
    from /Library/Ruby/Gems/1.8/gems/twitter-1.7.2/lib/faraday/request/multipart_with_file.rb:18:in `call'
    from /Library/Ruby/Gems/1.8/gems/faraday-0.7.5/lib/faraday/connection.rb:207:in `run_request'
    from /Library/Ruby/Gems/1.8/gems/faraday-0.7.5/lib/faraday/connection.rb:94:in `post'
    from /Library/Ruby/Gems/1.8/gems/twitter-1.7.2/lib/twitter/request.rb:27:in `send'
    from /Library/Ruby/Gems/1.8/gems/twitter-1.7.2/lib/twitter/request.rb:27:in `request'
    from /Library/Ruby/Gems/1.8/gems/twitter-1.7.2/lib/twitter/request.rb:10:in `post'
    from /Library/Ruby/Gems/1.8/gems/twitter-1.7.2/lib/twitter/client/tweets.rb:45:in `update'
    from /Users/superhappyfuntime/Desktop/twt.rb:40
Was it helpful?

Solution

add '' single quotes to strings

Twitter.configure do |config|
 config.consumer_key = 'xsFEEyGKDPcnhJ5JoPJKg'
 config.consumer_secret = '**CENSORED**'

OTHER TIPS

Better you can reset your twitter consumer key and secret.

www.ning.com/help/?p=5551
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top