使用带有原始文件名和扩展名的Google Drive API下载

时间:2019-10-17 20:09:30

标签: google-api google-drive-api

正如Google Drive API文档中有关下载文件的内容所述:

in<ctrl-space>

如果我们将此链接粘贴到Chrome或Safari,它将开始下载。

但是问题是

  • 名称更改为 FIELDID
  • 扩展名不见了

例如

我有文件mywork.fbx,我已上传到Google驱动器,并且文件ID为ABCDEFG

然后我转到下面的链接。

https://www.googleapis.com/drive/v3/files/FILEID?alt=media%26key=API_KEY

我得到的文件名为 ABCDEFG ,没有扩展名

它应该是mywork.fbx或anyname.fbx而不仅仅是ABCDEFG

尝试

  • 添加&download =“ mywork.fbx”
  • 使用PHP header('Content-Disposition:附件; filename =“ mywork.fbx”'); 文件名是mywork.fbx,但带宽也是我的它不仅是Google云端硬盘! !
https://www.googleapis.com/drive/v3/files/ABCDEFG?alt=media%26key=MYAPIKEY
  • 检查堆栈溢出中的文章,但找不到正确的文章

1 个答案:

答案 0 :(得分:2)

  • 您要使用浏览器下载不是Google文档的文件。
  • 您要下载的文件名具有原始文件名和扩展名。
  • 您正在使用API​​密钥。
    • 在这种情况下,文件是公开共享的。

如果我的理解正确,那么这个答案如何?在此答案中,webContentLink被用作端点。 The official document如下。

  

webContentLink

     

一个链接,用于使用基于cookie的身份验证在浏览器中下载文件的内容。如果内容是公开共享的,则无需任何凭据即可下载内容。

修改后的端点:

请尝试使用浏览器访问以下端点。

https://drive.google.com/uc?export=download&id={fileId}
  • 使用此功能时,请设置文件ID。在这种情况下,该文件不是Google文档。
  • 访问上述端点时,可以检索带有文件名的文件。

参考:

如果我误解了你的问题,而这不是方向,我表示歉意。

相关问题