Google oauth2错误"缺少必需参数:response_type" (红宝石)

时间:2015-03-16 07:11:37

标签: ruby google-oauth2

我的第一个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

提前感谢您的帮助。

0 个答案:

没有答案