超过 403 速率限制的 Google Drive 缩略图

aas*_*onk 6 javascript google-drive-api

我们有一个带有库功能的应用程序,可以在用户之间共享照片/文档。基本流程和问题如下:

  1. 用户在应用程序中共享一个文件,这使得文件公开不公开。
  2. 其他用户可以请求当前与该组共享的文件列表。
  3. 然后,他们请求有关他们想要列出的任何文件的元数据,其中包括我们随后显示的缩略图 url。

通常缩略图出现得很好,但有时我们开始得到 403。一段时间后,他们将重新开始工作,而我们无需更改任何内容。其他一些值得一提的项目是:

  1. 实际的 API 调用似乎从未达到任何限制。即使我们只是请求一个文件,我们也会遇到这个问题。据我们所知,Google 中的控制台没有显示任何超出的限制。
  2. 如果您在单独的选项卡中打开缩略图,它似乎总是没有任何问题。
  3. 当它进入这种模式时,我们所有的开发人员似乎都在同时击中它,因此我们猜测它与我们的应用程序的某些限制有关,但我们似乎找不到任何超出的限制。(注意:我们的开发人员在家工作,因此他们都有不同的 IP 地址。)
  4. 可以在下面找到我们 403 的详细信息。

我们猜测它与以下内容无关:

  1. 并发发出太多请求,因为即使我们执行单个文件也会出现问题。
  2. 未获得授权,因为 (a) 文件未公开列出,(b) 我们刚刚登录,以及 (c) 当您在选项卡中打开缩略图时,它显示得很好。

有任何想法吗?

带有 403 的图像

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

我们的 Google Drive 配额的屏幕截图 在此处输入图片说明

ElD*_*Dog 6

我的“解决方案”是使用新的referrerpolicy并将其设置no-referrer为图像元素。

<img referrerPolicy="no-referrer" src="GOOGLE_THUMBNAIL_IMAGE_LINK"/>
Run Code Online (Sandbox Code Playgroud)

根据MDN,该属性是实验性的。在撰写本文时,它仅在 Chrome 和 Firefox 上受支持,因此不是真正的修复。它工作背后的理论是no-referrer图像请求与直接访问链接时使用的图像请求相同(缩略图似乎总是有效)。


TMa*_*Man 5

经过几天的实验,我非常确定这是由于从localhost环境中访问有问题的 URL 引起的。每当我推送到生产环境时,我尝试从 Google 访问的缩略图的配额限制都会自行解决。

虽然我没有确凿的证据证明情况确实如此,但考虑到观察到的行为,这绝对是有道理的。