【问题标题】:This script fails to compile, but why?该脚本无法编译,但为什么呢?
【发布时间】: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


【解决方案1】:

您最好重置您的 twitter 消费者密钥和密码。

www.ning.com/help/?p=5551

【讨论】:

    【解决方案2】:

    在字符串中添加''单引号

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

    【讨论】:

    • 而且最好不要向大家展示一些敏感信息:)
    猜你喜欢
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-19
    • 1970-01-01
    相关资源
    最近更新 更多