我在谷歌驱动器上有一个公共文件。我可以下载它,无论我是否登录我的谷歌帐户。
假设我使用 Firefox(未登录 Google 帐户)访问文件:
https://drive.google.com/file/d/1lsXIQkxqRBEbMO86OxHs8C8fET7D4oeo/view?usp=drivesdk
。然后单击“下载”按钮,我可以获得一个可下载的 URL(通过使用 Firefox 的一项功能)。网址看起来像https://doc-0c-bk-docs.googleusercontent.com/docs/securesc/biprk0tlgmbv8qfm4ml0d1hkq455h47t/q99lq27ni0mcgll8uajcb5qjo33kk555/1677934950000/09875493210076435183/02018677302207888173Z/1lsXIQkxqRBEbMO86OxHs8C8fET7D4oeo?e=download&uuid=3ba75ae5-1c7f-42f9-a8e1-edcbd329d77b&nonce=4vb8l3vpv030o&user=02018677302207888173Z&hash=1fs65oofpquerq5cpfhi0c63c62eue8u
。
然后我将这个 URL 复制并粘贴到另一个浏览器,我得到了 403 forbidden。
我不明白谷歌为什么以及如何抛出 403 错误,因为该文件是完全公开的。
我问这个问题的原因是:我正在使用 Java 编写类似 IDM 的应用程序(我无法从 Google 驱动器下载文件,但它可以在正常站点上运行)
请帮忙
当您点击“下载”时,Google 会创建一个临时下载链接。此下载链接仅在一段时间内有效。例如,第二天此链接可能不再有效,您必须再次单击“下载”。
点击“下载”时,Google 也可能在您的浏览器中存储 cookie。生成的下载链接仅在具有这些 cookie 的浏览器中有效。这意味着不同的浏览器无法使用临时链接,因为它没有匹配的 cookie。
您必须使用 Google Drive API 下载文件。 这是一个例子.