由于Google要求使用顶级私有域作为授权域,因此如何使用本地主机在我的应用程序上测试Google Oauth 2.0?
我试图查找解决方案,但是给出的所有解决方案都已经有一段时间了,我认为Google从那时起就改变了服务。
请帮助:)
答案 0 :(得分:4)
localhost 不是有效的顶级域,它不会让您在不设置同意屏幕的情况下生成凭据。如果您愿意,您可以添加多个授权域,但不能将其留空。但是,如果您没有域/暂时不想添加域,则可以删除该字段。你不能把它留空。
注意描述——“使用域时”。所以没有义务为同意屏幕添加授权域。此外,这里的授权域仅与同意屏幕相关。授权来源和授权重定向 URL 需要在凭证部分指定,这很重要;指定接受请求的来源以及重定向的来源。所以只需在同意屏幕中省略授权域。
那怎么删除呢?以防万一,如果您没有注意到,只需将鼠标悬停在该领域上,这个小人就会弹出。删除它。就这样。现在您应该可以保存并继续,它可能会要求您设置范围。
我知道现在很晚了,希望它可以帮助其他人..
答案 1 :(得分:0)
在提交应用程序验证请求之前,必须提供授权域的列表[1]。如果要配置localhost重定向URI,则可以在Web OAuth客户端ID配置[2]中对其进行配置。
[1] https://support.google.com/cloud/answer/7454865?hl=en
[2] https://developers.google.com/identity/protocols/OAuth2WebServer#creatingcred
答案 2 :(得分:0)
答案 3 :(得分:0)
大约一个小时后,我将脑袋撞到墙上,发现this article的逐步解决方案有效(截至2020年7月)。
基本上,您需要创建一个服务帐户,与该帐户共享工作表,然后它才能工作。
我尝试过的所有其他身份验证方法都引发了无意义的错误,或者只是默默地不起作用。
答案 4 :(得分:0)
让您的开发计算机标识为该域的一部分-编辑您的hosts
文件。
This post应该可以帮助您。
答案 5 :(得分:0)
如果有人反对上述建议,this answer 为我解决了问题。在 google API 控制台中将我授权的 JavaScript 源 URI 设置为 http://localhost:8080,然后清空我的 Chrome 缓存。