Google 驱动器映像出现 403 禁止错误

问题描述 投票:0回答:4

我正在使用谷歌驱动器在网站上显示图像。 我使用以下网址来显示图像:

https://drive.google.com/uc?export=view&id={fileId}

在大多数情况下工作正常,但有些用户看不到图像并收到以下错误消息:

Failed to load resource: the server responded with a status of 403 ()

谷歌驱动器上的图像文件和文件夹与所有人共享,并提供链接查看。 该问题似乎与浏览器无关。

有人知道如何解决这个问题吗?是否有一些我忘记做的事情(我是否需要链接中的某种 API 密钥)?

image google-drive-api http-status-code-403
4个回答
4
投票

截至今天我也遇到了同样的问题。 (就像几个月前谷歌结束了经典网站一样,我(错误地)将其用作图像存储库。)

清除浏览器中的所有 cookie 后,图像再次可见。 这样就解决了这个问题。

如果问题仍然存在,您应该更改 URL。

此 URL 给出 403 错误:

https://drive.google.com/uc?export=view&id={img-ID}

将其更改为:

https://lh3.google.com/u/0/d/{img-ID}

例如:在 WebApp 中设置图标:

return template.evaluate()
  .setFaviconUrl('https://lh3.google.com/u/0/d/1qMrq5o54jhg5jedu9fLtzUG4dF1ijKZT1#.ico')

4
投票

我在这个答案上发现,从谷歌驱动器共享图像的最佳解决方案是使用此网址:

https://lh3.googleusercontent.com/d/{ID_OF_THE_FILE}

语法示例:https://lh3.googleusercontent.com/d/1z-3moeybmtxqhyjWWN8PvKIZizI6yw6B

另一个优点是,您可以即时调整图像大小:

缺点(写完答案后发现):如果图像尺寸很大,API 不会返回原始图像,而是返回缩小后的版本☹️。图像示例的原始尺寸为 3317x2221,但提供的图像尺寸为 1600x1071。所以也许不是一个适合所有情况的解决方案......

如果您有很多文件要共享并获取网址,我的为文件夹中的所有文件生成图像网址的解决方案可以帮助您轻松获取它们。


0
投票

我已经使用 Ionic Angular 处理了这个问题,在最新版本中你应该使用 https://lh3.google.com/u/0/d/{img-ID} 正如 Edso 所说,它解决了问题。请考虑,只有当您有登录的谷歌帐户时,图像才会加载,否则响应的状态将为 302 并且图像将永远不会加载。


0
投票

好吧,我知道我迟到了...我的答案可能对你不起作用,但对我有用。

当我使用此链接时,我收到了 403 禁止错误

https://drive.google.com/uc?export=view&id={file-id}

问题不在于链接。但具有文件访问权限。所以,早些时候当我查看文件访问时,它是这样的

html 文件中的响应是这样的

但是如果我只是单击受限并将其更改为任何人,html 就能够获取它并且它起作用了。

然后 html 响应能够通过几个自动重定向来获取它

确保将公共访问权限设置为查看器,或者任何知道如何打开开发工具的人都可以评论或编辑您的文件。

我还共享了原始链接,因为在发布此答案之前我已经删除了该链接上的文件.

© www.soinside.com 2019 - 2024. All rights reserved.