首页 > 解决方案 > 直接链接到位于 Google Drive 上的文件

问题描述

我想要做的是创建一个指向位于我的 Google Drive 上的 mp3 文件的直接链接 URL,并将其用于 HTML5 的音频对象,但我收到 403 错误。

我知道,当尝试创建位于 Google Drive 上的文件的链接时,它创建的不是文件的直接 URL,而是用于通过查看器查看文件的 URL,例如

https://drive.google.com/file/d/<file ID>/view?usp=sharing

我用谷歌搜索发现可以将其重写为直接链接 URL,如下所示:

https://drive.google.com/uc?id=<file ID>

src我在我的音频元素的属性中设置了这个 URL 。但是,当我尝试play()方法时,会引发以下错误:

GET https://drive.google.com/uc?id=<file ID> 403

myProject.html:1 Uncaught (in promise) DOMException: Failed to load because no supported source was found.

https://drive.google.com/uc?id=<file ID>所以我尝试从我的浏览器访问该 URL 。

然后,我得到了这个:

403. That’s an error.

We're sorry, but you do not have access to this page. That’s all we know.

我尝试了很多次,所以我不太可能错误粘贴<file ID>.

我应该怎么做才能创建文件的有效直接链接 URL?我将不胜感激任何信息。

进步

我知道出了什么问题。问题在于,只有获得授权的用户才能访问 Google Drive 上的文件,这意味着只有 Google 帐户的所有者才能访问文件 URL。

我尝试从与 Google 帐户关联的 Chrome 浏览器访问它,然后,错误没有发生。

但是,我想将此文件提供给所有人。我应该怎么做才能允许其他人访问?

标签: javascripthtmlgoogle-chromehttpgoogle-drive-api

解决方案


您了解 Google Drive 不是文件托管服务吗?即使您确实让它工作,这个解决方案也不会很稳定。

要使其正常工作,您需要将文件设置为公开,以便每个人都可以访问它。那么我敢打赌,从长远来看,您将需要一个 API 密钥来执行此操作。

另请记住,文件 id 不稳定,例如,如果您上传文件,它可能会在将来发生变化。


推荐阅读