Google drive api 在Windows 10上从google drive下载大文件?

Google drive api 在Windows 10上从google drive下载大文件?,google-drive-api,windows-10,google-oauth,Google Drive Api,Windows 10,Google Oauth,我正在尝试从google drive下载zip文件,大约20gb,它有10-15个文件,有些文件大到4GB,我下载了1个1个的文件,但是超过1.5gb的文件没有被完全下载。他们缺少很多内容,例如,我试着下载了3.5gb的文件,下载后只有1.2g,里面的文件更少 我试过这个 Invoke-RestMethod -Uri https://www.googleapis.com/drive/v3/files/ID_OF_FILE?alt=media -Method Get -Headers @{"Aut

我正在尝试从google drive下载zip文件,大约20gb,它有10-15个文件,有些文件大到4GB,我下载了1个1个的文件,但是超过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文件”


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

这个错误意味着不能通过alt=media of files.get下载Google文档。不幸的是,原始谷歌文档无法下载,您可以将其导出为多个mimeType。特霍奇已经说过这一点。所以,当你想下载谷歌文档时,请使用files.export,并转换到其他MIMEType,如tehhowch所说

作为示例,当您使用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文档对应的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
参考:

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

是的,不要尝试下载谷歌工作表、谷歌文档、谷歌幻灯片或谷歌文件作为其本机mimetype。您必须将它们导出到可序列化的mimetype,如.xslx/.csv或.docx/.ods、.ppt等。如果您花时间阅读并查看导致错误的文件,则错误非常明显。。。