我正在尝试加载Google Picker。
我正在使用此NPM软件包https://www.npmjs.com/package/google-picker
加载选择器时,出现了auth Windows,我可以选择我的Google帐户。
完成验证后,它试图打开Google Picker Iframe。
目前,iframe无法加载,我得到了错误
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://docs.google.com') does not match the recipient window's origin
我已经搜索了此问题,许多解决方案说确保将您的域添加到Google Console的授权JS起源
我做到了!该域绝对是客户的授权域中。Google签名使用我的应用程序。但是我似乎无法让选择器上班。
我尝试过从本地主机和上传到服务器的运行。但是我遇到了同样的错误。
我正在使用的服务器是HTTPS。而且,选择器的iframe URL也是https。所以这不应该是问题。
我还能尝试什么?我是不可能的。我正好关注API。我放了所有正确的钥匙。
从此帖子答案中,引用了问题的问题是 https
。
我相信这是目标来源为
https
的问题。我 怀疑这是因为您的iFrame URL使用http
而不是https
。尝试更改您要嵌入的文件的URL 是https
。例如:
var id = getId(url); return '//www.youtube.com/embed/' + id + '?showinfo=0&enablejsapi=1&origin=http://localhost:9000'; }
是:
var id = getId(url); return 'https://www.youtube.com/embed/' + id + '?showinfo=0&enablejsapi=1&origin=http://localhost:9000'; }
Google Picker未显示的原因实际上与控制台错误无关。
即使出现了控制台错误,选择器仍然有效。
,但我认为它不起作用,因为我正在使用与Google Picker发生冲突的CSS的Pickadate库。
有关该问题的更多信息:https://github.com/amsul/pickadate.js/issues/619