我的第一个Ruby冒险是尝试从谷歌获取web服务应用程序的oauth2令牌。关于这个主题有很多问题和答案,但没有一个能解决我的问题。
我在谷歌注册了一个虚拟网络服务,我正在尝试获取授权代码(甚至在尝试获取令牌之前)。访问https://accounts.google.com/o/oauth2/auth
时我省略了什么强制参数(例如client_id)并不重要我总是得到400错误消息'缺少必需参数:response_type'。
以下是代码段,遵循https://developers.google.com/accounts/docs/OAuth2WebServer#formingtheurl中的Google指南:
get '/' do
requestGoogleAccessToken(102030, "http://localhost:4567/oauth2callback/")
end
def requestGoogleAccessToken(auth_code, redirect_uri)
googleAuthHost = 'https://accounts.google.com/o/oauth2/auth'
googleClientID = "XXXXXXXXXXX.apps.googleusercontent.com"
scope = 'https://www.googleapis.com/auth/calendar'
url="#{googleAuthHost}?scope=profile&redirect_uri=#{CGI.escape(redirect_uri)}&client_id=#{googleClientID}&response_type=code"
uri=URI.parse(url)
https=Net::HTTP.new(uri.host,uri.port)
https.use_ssl=true
req=Net::HTTP::Post.new(uri.path)
res=https.request(req)
puts "\n res: ", res
puts "\n response body: ", res.body
end
提前感谢您的帮助。