OAuth给了我401错误

Rad*_*dek 4 ruby twitter oauth

我试图获取访问密钥,但我无法使其工作.``request_token.get_access_token is giving me401 Unauthorized(OAuth :: Unauthorized)error. I copy the authorize_url into my browser, allow the application, I receive some kind of PIN from twitter but after hitting enter in my script I always get 401 error. I did some search and I found this helpedaccess_token = request_token.get_access_token(:oauth_verifier => params [:oauth_verifier])but it is giving meundefined local variable or methodparams' for main:Object (NameError)

  • twitter应用程序类型是客户端
  • ruby脚本就像(我按照本教程)
  • 我很想摆脱这个脚本访问细节.最好不使用PIN.

.

gem 'oauth'
require 'oauth/consumer'

consumer_key = 'your key'
consumer_secret ='your secret'

consumer=OAuth::Consumer.new "consumer_key", 
                          "consumer_secret", 
                          {:site=>"http://twitter.com"}

request_token = consumer.get_request_token

puts request_token.token
puts request_token.secret
puts request_token.authorize_url
puts "Hit enter when you have completed authorization."
STDIN.gets

access_token = request_token.get_access_token
#access_token = request_token.get_access_token(:oauth_verifier => params[:oauth_verifier])

puts access_token.token
puts access_token.secret
puts
puts access_token.inspect
Run Code Online (Sandbox Code Playgroud)

Mor*_*gan 5

我遇到了完全相同的问题.更换:

STDIN.gets
Run Code Online (Sandbox Code Playgroud)

有:

pin = (gets.chomp).to_i
Run Code Online (Sandbox Code Playgroud)

to_i转换为整数,该整数也用于去除空格.然后,您需要在尝试获取访问令牌时指定引脚.如果您不这样做,则没有证据表明用户已允许您的申请.

access_token = request_token.get_access_token(:oauth_verifier => pin)

puts "Access Token  : " + access_token.token
puts "Access Secret : " + access_token.secret
Run Code Online (Sandbox Code Playgroud)

  • 作为旁注,如果有人试图将此示例用于另一个应用程序,例如Yammer,它使用字母数字字符作为引脚,而不是转换为整数do pin = gets.chomp.strip (2认同)