我在访问谷歌驱动器选择器时遇到以下错误,但是选择器正确显示而没有任何错误。
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://docs.google.com') does not match the recipient window's origin ('http://localhost').
Invalid 'X-Frame-Options' header encountered when loading 'https://docs.google.com/picker?protocol=gadgets&origin=http%3A%2F%2Flocalho…%3Atrue%7D))&rpctoken=e2x1eop3h1rr&rpcService=2qeo0ns6gu13&thirdParty=true': 'ALLOW-FROM http://localhost' is not a recognized directive. The header will be ignored.
PSB我的开发者控制台的截图
我也提到了这个问题Google Drive Picker - Developer Key is Invalid Error,但我认为google api有一些变化,所以这个问题没有用。
代码段 -
var picker = new google.picker.PickerBuilder()
.setLocale(lkGoogleSettings.locale)
.setOAuthToken(accessToken)
.setCallback(pickerResponse)
.setOrigin(lkGoogleSettings.origin);
由于
答案 0 :(得分:4)
正如一些评论员所提到的,X-Frame-Option
错误是Chrome
中的已知错误。您可以看到有关它的长时间讨论here。
现在,对于真正的问题:origin matching
。无论是否将您的客户端ID权限添加到您的原点,Google云端硬盘都无法使用localhost,无论是否有端口。
我一直这样做是为了测试我的应用程序。例如:
dev.mysite.com
添加到hostfile
( Mac 中的/ etc / hosts)。 Google App Console
中为您的选择器应用程序的权限复制域名,您应该好好去。 dev.mysite.com:80
*启动您的网站,并且驱动器选择器现在应该正常运行。 *注意:您必须在端口80上投放。谷歌根本不适合使用端口,因此当您访问您的网站时,地址必须为dev.mysite.com
且没有端口。