谷歌驱动器选取器错误



我在访问google驱动器选择器时遇到以下错误,但是选择器显示正确,没有任何错误。

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来自我的开发者控制台的屏幕截图

http://screencloud.net/v/6431

我也提到了这个问题谷歌驱动器选择器-开发者密钥是无效错误,但我认为谷歌api有一些变化,所以这件事不起作用。

代码片段-

var picker = new google.picker.PickerBuilder()
                             .setLocale(lkGoogleSettings.locale)
                             .setOAuthToken(accessToken)
                             .setCallback(pickerResponse)
                             .setOrigin(lkGoogleSettings.origin);

感谢

正如一些评论员所提到的,X-Frame-Option错误是Chrome中已知的错误。你可以在这里看到关于它的长时间讨论。

现在,针对真正的问题:origin matching。无论您是否在客户端id的权限中将其添加到源位置,无论是否使用端口,Google Drive都不能很好地使用localhost。

然而,还是有希望的。如果你在主机文件中设置了一个指向localhost的域,那么你可以在谷歌应用控制台中将该域添加到你的原点,一切都如预期!

我一直这样做是为了测试我的应用程序。例如:

  1. dev.mysite.com添加到hostfileMac中的/etc/hosts)
  2. Google App Console中复制你的picker应用程序权限中的域,你就可以开始了
  3. 使用dev.mysite.com:80*启动您的网站,驱动器选择器现在应该可以正常工作

*注意:您必须在端口80上服务。谷歌对端口一点也不友好,所以当你去你的网站时,地址必须是没有端口的dev.mysite.com

相关内容

  • 没有找到相关文章

最新更新