【问题标题】:2.3.0/gems/twitter-6.1.0/lib/twitter/rest/response/raise_error.rb:13:in `on_complete': Bad Authentication data. (Twitter::Error::BadRequest)2.3.0/gems/twitter-6.1.0/lib/twitter/rest/response/raise_error.rb:13:in `on_complete':认证数据错误。 (Twitter::Error::BadRequest)
【发布时间】:2017-10-24 10:23:53
【问题描述】:

简单地说,我正在尝试使用这些 ruby​​ 代码发布推文:

require 'Twitter'

client = Twitter::REST::Client.new do |config|
config.consumer_key        = "my_key"
config.consumer_secret     = "my_secret_key"
config.access_token        = "my_token"
config.access_token_secret = "my_secret_token"
end

client.update("I'm tweeting with a @gem!")

我在 Windows 10 上使用 64 位 ruby​​ 2.3.0 和适当的 64 位开发工具包。

但是,“on_complete”:错误的身份验证数据。 (Twitter::Error::BadRequest) 看起来像这样:

C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/twitter-6.1.0/lib/twitter/rest/response/raise_error.rb:13:in `on_complete': Bad Authentication data. (Twitter::Error::BadRequest)
from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/faraday-0.11.0/lib/faraday/response.rb:9:in `block in call'
from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/faraday-0.11.0/lib/faraday/response.rb:61:in `on_complete'
from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/faraday-0.11.0/lib/faraday/response.rb:8:in `call'
from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/faraday-0.11.0/lib/faraday/request/url_encoded.rb:15:in `call'
from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/faraday-0.11.0/lib/faraday/request/multipart.rb:14:in `call'
from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/twitter-6.1.0/lib/twitter/rest/request/multipart_with_file.rb:21:in `call'
from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/faraday-0.11.0/lib/faraday/rack_builder.rb:139:in `build_response'
from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/faraday-0.11.0/lib/faraday/connection.rb:377:in `run_request'
from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/faraday-0.11.0/lib/faraday/connection.rb:177:in `post'
from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/twitter-6.1.0/lib/twitter/rest/request.rb:33:in `perform'
from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/twitter-6.1.0/lib/twitter/rest/utils.rb:50:in `perform_request'
from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/twitter-6.1.0/lib/twitter/rest/utils.rb:72:in `perform_request_with_object'
from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/twitter-6.1.0/lib/twitter/rest/utils.rb:64:in `perform_post_with_object'
from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/twitter-6.1.0/lib/twitter/rest/tweets.rb:158:in `update!'
from C:/tools/ruby23/lib/ruby/gems/2.3.0/gems/twitter-6.1.0/lib                                                                        /twitter/rest/tweets.rb:128:in `update'
from om_tweet.rb:11:in `<main>'

提前感谢您的时间和建议!

【问题讨论】:

  • 您是否在 Twitter 帐户上为您的应用启用了“写入”权限?
  • 是的,权限当前设置为读取、写入和直接发送消息。
  • 你能阅读推文吗? (密钥/秘密/令牌绝对正确吗?)
  • 我正在关闭这个帖子。将密钥/秘密/令牌粘贴到我的代码中后,其中包含空格。感谢您的帮助,汤姆!谢谢!

标签: ruby-on-rails ruby ruby-on-rails-3 twitter faraday


【解决方案1】:

在将键复制/粘贴到相应的行后,发现键中存在空格。删除空格允许 ruby​​ 文件按设计运行。感谢并感谢 Tom Lord 的帮助和批评!

【讨论】:

    猜你喜欢
    • 2012-11-03
    • 2012-10-05
    • 2013-06-09
    • 1970-01-01
    • 2013-04-21
    • 2015-10-11
    • 2017-11-13
    • 1970-01-01
    • 2016-04-14
    相关资源
    最近更新 更多