Google Oauth同意屏幕未显示

Google Oauth同意屏幕未显示,oauth,oauth-2.0,google-api,google-oauth,google-api-client,Oauth,Oauth 2.0,Google Api,Google Oauth,Google Api Client,我正试图遵循GoogleOAuth指南,授予我的Rails应用程序编辑用户日历的权限。也许我是误解了,但似乎是说,你所要做的就是向谷歌API发送一个特定的请求,这将提示用户弹出同意屏幕。但是,我发送的请求没有任何错误,但什么也没有发生 我的应用程序已被验证,我尝试使用的URL已添加到我的Oauth凭据中。从理论上讲,在本例中,这不重要,但我还安装了“GoogleAPI客户端”、“omniauth”和“omniauth-google-oauth2”gems。URL是带有SSL证书的HTTPS 我做

我正试图遵循GoogleOAuth指南,授予我的Rails应用程序编辑用户日历的权限。也许我是误解了,但似乎是说,你所要做的就是向谷歌API发送一个特定的请求,这将提示用户弹出同意屏幕。但是,我发送的请求没有任何错误,但什么也没有发生

我的应用程序已被验证,我尝试使用的URL已添加到我的Oauth凭据中。从理论上讲,在本例中,这不重要,但我还安装了“GoogleAPI客户端”、“omniauth”和“omniauth-google-oauth2”gems。URL是带有SSL证书的HTTPS

我做错了什么

# this is the controller action for my path, so the API is pinged when the page is loaded
def path

    url = "https://accounts.google.com/o/oauth2/v2/auth?
      scope=email%20profile%20calendar.events&
      response_type=code&
      redirect_uri=<URL>&
      client_id=<CLIENT_ID>"

    require 'open-uri'
    require 'uri'
    require 'net/http'
    require 'json'
    require 'net/https'
    uri = URI(url)
    response = Net::HTTP.get(uri)


end

指南有点混乱。他们说向URL发送请求,但实际上是指在浏览器中打开该URL。我想你误解了这一点

因此,创建此html文件:

现在在浏览器中打开html文件并单击链接。您会注意到Google服务器将浏览器重定向到您指定的重定向URI。您可以在web服务器日志中看到服务器是否工作,或者浏览器将显示错误消息,您可以在浏览器地址栏中看到包含Google发送的所有查询参数的URL

在文档中查看服务器对重定向请求的响应,以便最终显示“同意”屏幕


当它出现时,过程是类似的:您作为用户授予所请求的权限,当您单击按钮时,Google将再次响应重定向,然后您从查询参数中获取令牌。

服务器上运行的Python代码如何在客户端浏览器中打开窗口?当您使用JavaScript客户端时,该窗口会弹出。@GuidoFlohr该指南没有提到任何关于JavaScript客户端的内容。它字面上是向ping表示该API,下一步是为用户弹出一个窗口。你指的是什么Javascript客户端,我如何实现它?你的应用程序运行在你的服务器上,IP为1.2.3.4,通过向谷歌发送请求,并在用户笔记本电脑上打开一个浏览器窗口,IP为5.6.7.8?那该怎么办?我如何从我的计算机授权你的应用程序?尝试为您的用例找到更好的教程。是的,它是Ruby,而不是Python代码哇,非常感谢!我早该知道事情就这么简单。我经常使用API,我忘了还有其他的方法。我也花了一些时间去理解谷歌的人向我们发送请求的真正含义。。。。所以不要担心,快乐编码!