我使用 Google Sign-In JavaScript 客户端几个月都没有问题。
但是最近,当用户从添加到主屏幕的 web 应用程序中点击登录按钮时,登录弹出窗口只是挂起而不显示任何内容。
通过远程调试进行调试时,控制台 Pane 中会显示错误:
Uncaught Failed to get parent origin from URL hash!
源自 4188232449-v2-idpiframe.js:136(由谷歌库内部加载的 javascript)。
我确定这不是编程/配置错误,因为同一个 webapp 之前已经运行了几个月没有问题,而且我没有修改任何代码。
我已经尝试用谷歌搜索这个特定的问题,并浏览谷歌文档以了解谷歌登录 API 的任何最新变化,但没有任何运气。
是来自 Google API Javascript 客户端库的错误,来自 Android 上最近的 Chrome 浏览器更新的故障,还是 API 使用发生了一些我还不知道的变化?
使用的库是 https://apis.google.com/js/platform.js
这是 gapi.auth2.init() 的初始化参数:
{
client_id: GAPI_CID, // defined as constant
cookiepolicy: 'single_host_origin',
prompt: 'select_account',
ux_mode: 'popup',
fetch_basic_profile: true
}
任何见解将不胜感激。谢谢你。
P.S.:这个问题与 Uncaught Failed to get parent origin from URL hash 不同因为在那种情况下 问题是由所需凭据配置错误引起的 在 Google API 控制台中。
如果您从未成功地将登录流程与您的应用程序集成,那么该帖子的回答也许可以帮助您。
否则,如果您 已成功一段时间内集成登录流程,但 最近突然/不规律地出现问题在弹出窗口上出现空白屏幕的症状,而不是你和我有同样的问题。
最佳答案
我可以确认我们最近在我的公司遇到了同样的问题。这似乎有点不稳定,不是 100% 的时间。但是对于某些用户,有时,他们会遇到一个空的登录弹出窗口,其中 url 指向“https://accounts.google.com/o/oauth2/iframe”,但没有任何 react 。
关于javascript - Google 登录 API 挂起并出现 Uncaught Error 无法从 URL 哈希获取父源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52713993/