首页 > 解决方案 > 在 Windows 10 上从谷歌驱动器下载大文件?

问题描述

我正在尝试从大约 20gb 的谷歌驱动器下载 zip 文件,它有 10-15 个文件,有些文件大到 4gb,我正在逐个下载文件,但超过 1.5gb 的文件没有被下载完全地。他们缺少很多内容,例如,我尝试下载 3.5gb 的文件,下载后只有 1.2g 的文件,里面的文件更少。

我试过这个,

Invoke-RestMethod -Uri https://www.googleapis.com/drive/v3/files/ID_OF_FILE?alt=media -Method Get -Headers @{"Authorization"="Bearer ACCESS_TOKENS"} -OutFile file1.zip

但我得到的错误只有

“只能下载具有二进制内容的文件。将导出与 Google Docs 文件一起使用”

这个问题有什么解决办法吗?

标签: google-drive-apiwindows-10google-oauth

解决方案


该错误意味着无法通过 files.get 的 alt=media 下载 Google Docs。不幸的是,原始的 Google Docs 无法下载,您可以将它们导出为多个 mimeType。tehhowch 已经说过了。因此,当您要下载 Google Docs 时,请使用 files.export,并按照 tehhowch 的说法转换为其他 mimeType。

作为示例,当您使用 Invoke-RestMethod 下载电子表格时,命令如下。在此示例中,文件通过转换为 xlsx 文件来下载。

Invoke-RestMethod -Uri https://www.googleapis.com/drive/v3/files/### file ID ###/export?mimeType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet -Method Get -Headers @{"Authorization"="Bearer ACCESS_TOKENS"} -OutFile sample.xlsx

笔记 :

使用时请使用 Google Docs 对应的 mimeType。如果您想知道下载 Google Docs 文件时可以导出的 mimeType,可以使用 drive.about.get 检索数据,如下所示。

Invoke-RestMethod -Uri https://www.googleapis.com/drive/v3/about?fields=exportFormats -Method Get -Headers @{"Authorization"="Bearer ACCESS_TOKENS"} -OutFile sample.txt

参考:

如果这不起作用,请告诉我。我想考虑一下解决方法。


推荐阅读