因为设置了“X-Frame-Options”为“SAMEORIGIN”,所以拒绝在框架中显示

5

根据https://developers.google.com/drive/web/quickstart/quickstart-js的视频和示例代码,我想上传本地系统中的任何文件到谷歌云端硬盘,但遇到了以下错误:

"拒绝显示'https://accounts.google.com/o/oauth2/auth?client_id=%3CAIzaSyDa2kGIMQCLdfzk…%2Flocalhost&response_type=token&state=513052220%7C0.1330524626&authuser=0' 在框架中,因为它将'X-Frame-Options'设置为 'SAMEORIGIN'。"

我注册了新的客户端ID,并使用新的客户端ID修改了代码。 同时,在运行命令中使用“chrome.exe --user-data-dir="c:/temp/chromedev" --disable-web-security”禁用了Chrome安全功能。


有人能帮我解决这个问题吗? - user3592479
4个回答

2
我在从谷歌云盘加载PDF文档到iframe时遇到了以下问题。
问题: 因为它将“X-Frame-Options”设置为“sameorigin”,所以拒绝在框架中显示“https://drive.google.com/file/d/1ipnylkWoSx4NS0GtmsQVFUq7ms339DAW/view”。
原因: 根据我的分析,我遇到了这个问题是因为该URL没有被视为嵌入式以允许从其他网站加载。
解决方案: 我甚至尝试了通过在URL中添加?embedded=true的解决方案,但仍然没有运气。然后我从https://support.google.com/drive/thread/34363118?hl=en得到了一个解决方案,并用预览替换了我的URL中的view,问题得到了解决。

https://drive.google.com/file/d/1ipnylkWoSx4NS0GtmsQVFUq7ms339DAW/preview


1
浏览器安全是无稽之谈,因为Google实时API旨在与默认安全性一起使用。
当提供clientId = 'garbage'时,我收到了这个错误。确实,你的client_id=<AIzaSyDa2kGIMQCLdfzk看起来像垃圾。正确的client_id应该像'1088706429537-4oqhqr7o826ditbok23sll1rund1jim1.apps.googleusercontent.com'。

0

我不知道这是否仍然相关,我在iframe中加载Google文档时遇到了相同的错误。在剥离页面上的所有内容后,删除doctype解决了我的问题。 之后,我发现有一个参数?embedded=true,可以让我在fancybox中加载它,这看起来更漂亮。希望它能帮助任何人,如果对您没有帮助,很抱歉。


0

这与禁用 Chrome 浏览器的安全性无关。 我认为我的 XAMPP Windows 本地主机可能存在一些问题。在 node.js 服务器上部署相同的应用程序或将其托管为 Web 应用程序的 Dropbox/Google Drive 也可以正常工作。


1
这是程序相关的内容,请将其从英语翻译成中文。仅返回翻译后的文本:这不是答案。你在捣乱。 - atilkan
如果你知道答案,请不要使用“相信”这个词。 - atilkan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接