在https://code.google.com/apis/console网站上,我已经注册了我的应用程序,设置生成的客户端ID:和客户端秘密到我的应用程序,并尝试登录谷歌。 不幸的是,我收到了错误信息:

Error: redirect_uri_mismatch
The redirect URI in the request: http://127.0.0.1:3000/auth/google_oauth2/callback did not match a registered redirect URI

scope=https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
response_type=code
redirect_uri=http://127.0.0.1:3000/auth/google_oauth2/callback
access_type=offline
approval_prompt=force
client_id=generated_id

这条信息是什么意思,我该如何修复它? 我使用宝石omniauth-google-oauth2。


当前回答

我在控制台中有两个请求uri, http://xxxxx/client/api/spreadsheet/authredirect和http://localhost。

我尝试了这个问题的所有回答,并确认没有一个是我的问题。

我从控制台删除了localhost,更新了client_secret。Json在我的项目中,不匹配错误消失了。

其他回答

我需要在api和服务下创建一个新的客户端ID ->凭据->创建凭据-> OAuth ->其他

然后下载并使用client_secret。Json和我的命令行程序上传到我的YouTube帐户。我试图使用Web应用程序OAuth客户端ID,这给了我浏览器中的重定向URI错误。

对我来说,这是因为在“授权重定向uri”列表中,我错误地把https://developers.google.com/oauthplayground/而不是https://developers.google.com/oauthplayground(没有/在最后)。

要使它在本地主机上工作,如果使用web服务器,请提供

Authorized JavaScript origins (Client ID for web appication)
e.g. http://localhost:4200

我的观点是: 如果使用Google_Client库,不要忘记在更新重定向URI之后更新服务器上的JSON文件。

在我的情况下,我必须检查客户端ID类型的web应用程序/已安装的应用程序。

已安装的应用程序:http://localhost[重定向uri] 在这种情况下,localhost就可以工作了

web应用程序:您需要有效的域名[重定向uri:]