【发布时间】:2011-12-10 00:38:32
【问题描述】:
这个 ruby 脚本没有运行。它以
响应/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
这是在用户输入之后。
我该如何解决?另外,如果有帮助,这里是脚本:
#!/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")
一旦解决了这个问题,我的程序就应该完成了。请帮忙!!
更新:现在显示:
/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
【问题讨论】:
-
你真的在这里公布你的秘密密钥吗?此外,请注意,已经有一个名为 twt 的 gem 安装了一个 CLI Twitter 界面,该界面完全命名为
twt。使用gem instal twt安装它。请参阅 GitHub 获取 its source。 -
对于第二个
401: Read-only错误,您需要访问 Twitter 开发者网站并启用读写访问权限。
标签: ruby string twitter quotes double-quotes