Google Drive API v3:没有任何方法可以获取 google 文档的下载网址吗?

2023-11-23

Google Drive API v2 到 v3迁移指南 says:

ExportLinks 字段已从文件中删除。要导出 Google 文档,请改用 files.export 方法。

我不想立即导出(下载)文件。 “files.export”实际上会下载文件。我想要一个稍后下载该文件的链接。这在 v2 中可以通过 exportLinks 实现。

我如何在 v3 中完成同样的任务?如果不可能,为什么这个有用的功能被删除了?

此外,(与上面类似的问题)downloadUrl 也被删除,并且建议的替代方案(“files.get with ?alt=media”)下载文件而不是提供下载链接。这意味着 v3 中无法获取文件的公共短期 URL?

EDIT:

v3 中没有办法获取文件的公共短期 URL 吗?

对于常规文件,显然是的.

这似乎工作正常(具有正确名称和内容的文件的公共短期链接):https://www.googleapis.com/drive/v3/files/ID?alt=media&access_token=TOKEN

对于谷歌应用程序文件,没有(甚至不是私有的,就像 v2 exportLinks 过去那样).

https://www.googleapis.com/drive/v3/files/ID/exportmimeType=TYPEv&access_token=TOKEN

与常规文件类似,此 URL 是指向文件内容的短暂链接,但缺少正确的名称。

顺便说一句,我发现 API 的行为不一致:/drive/v3/files/FILEID提供了正确的文件名,但是/drive/v3/files/FILEID/export才不是。

我认为 API 本身应该设置正确的 Content-Disposition,就像它在发出/drive/v3/files/FILEID称呼。

此文件命名问题导致 v3 中缺少 ExportLinks 的解决方法无效。

v2 ExportLinks 允许我链接文件(这与立即获取其内容不同)。任何登录并具有适当权限的人都可以访问它,并且该链接不需要任何 access_token,而且它的寿命也不是短暂的。这很好而且很有用。

使用原始 API 调用构建链接,例如/drive/v3/files/FILEID/export(使用强制 access_token)将是一个足够接近的解决方法(它是临时的和公共的,无论如何与以前不同)。然而,命名问题使其无效。

在 v2 中,常规文件有一个WebContentLink和谷歌应用程序文件有exportLinks. In v3 exportLinks已经消失了,我看不到任何合适的替代品。


通过 id 查询文件后,您可以使用函数 getWebContentLink() 来获取文件的下载链接(例如 $file->getWebContentLink() )。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google Drive API v3:没有任何方法可以获取 google 文档的下载网址吗? 的相关文章

随机推荐