34

连接到 google drive API 时,我在本地主机上收到此控制台错误,但我在脚本中配置的选择器成功显示了我的驱动器的内容:

无法在“DOMWindow”上执行“postMessage”:提供的目标来源(“ https://docs.google.com ”)与收件人窗口的来源(“ http://localhost:8000 ”)不匹配。

加载“ https://docs.google.com/picker?protocol=gadgets&origin=http%3A%2F%2Flocalho …2photos%22))&rpctoken=yxxydsx40r21&rpcService=2dngvfb4tj9x&thirdParty=true时遇到无效的“X-Frame-Options”标头: 'ALLOW-FROM http://localhost:8000 ' 不是公认的指令。标题将被忽略。

我会忽略这一点,还是会给我带来麻烦?

4

4 回答 4

1

这是一个错误

https://issuetracker.google.com/issues/177046274

似乎有一些解决方法可供人们将其用作 Apps Script Add-on 的一部分,参考此堆栈问题:

Google Picker API Invalid origin value 错误

虽然这不适用于使用 JavaScript的官方快速入门。

我已经用 Chrome 和 Firefox 对此进行了测试,并且都给出了相同的结果。

如果这对您有影响,请务必在上面链接的问题上加注星标。

于 2021-02-26T14:16:26.550 回答
1

这是一个 CORS 问题跨域资源共享。您需要在服务器上添加 CORS,以便它设置正确的标头。什么是 CORS 以及如何解决

继续阅读:使用 HTTPRequests 的错误来源

于 2019-10-05T12:24:07.330 回答
0

在使用 Google API 时,我发现设置虚拟主机并将其添加到 OS 主机文件更容易。如果您知道如何设置自签名证书,它也会有所帮助。

个人使用带有 SSL 标志的VagrantHomestead设置我的所有项目。这样我就可以使用 URLhttps://project.local/并且浏览器不会对 X-Frame-Options 抱怨太多

要启用 SSL,请将ssl: true其放在生成authorize: ~/.ssh/id_rsa.pubHomestead.yaml文件中。默认情况下,证书将不受信任,因此您必须告诉操作系统您想要信任它。恐怕我不记得上次我是怎么做到的。

于 2019-10-02T10:52:33.003 回答
-1

您必须控制 Google 的 HTTP 标头,确保使用有效的选项 X-Frame-Options

于 2017-07-03T12:19:36.143 回答