google-api - 使用带有原始文件名和扩展名的 Google Drive API 下载
问题描述
正如 Google Drive API 文档所说的下载文件:
https://www.googleapis.com/drive/v3/files/FILEID?alt=media%26key=API_KEY
如果我们将此链接粘贴到 Chrome 或 Safari 它将开始下载。
但问题是
- 名称更改为FIELDID
- 扩展名不见了
例如
我有文件 mywork.fbx 我上传到谷歌驱动器,并且 FileID 是 ABCDEFG
然后我去下面的链接。
https://www.googleapis.com/drive/v3/files/ABCDEFG?alt=media%26key=MYAPIKEY
我得到了名称为ABCDEFG的文件,没有扩展名
它应该是 mywork.fbx 或 anyname.fbx 而不仅仅是 ABCDEFG
试过了
- 添加&download="mywork.fbx"
- 使用 PHP header('Content-Disposition: attachment; filename="mywork.fbx"'); 文件名是 mywork.fbx 但带宽也是我的 这不仅是 Google Drive!!!
$file_url = 'https://www.googleapis.com/drive/v3/files/ABCDEFG?alt=media&key=KEY';
header('Content-Disposition: attachment; filename="mywork.fbx"');
readfile($file_url);
- 检查堆栈溢出中的文章,但我找不到合适的
解决方案
- 您想使用浏览器下载不是 Google Docs 的文件。
- 您想下载一个文件名与原始文件的文件名和扩展名相同的文件。
- 您正在使用 API 密钥。
- 在这种情况下,该文件是公开共享的。
如果我的理解是正确的,这个答案怎么样?在此答案中,webContentLink
用作端点。官方文档是这样说的。
网页内容链接:
使用基于 cookie 的身份验证在浏览器中下载文件内容的链接。如果内容是公开共享的,则无需任何凭据即可下载内容。
修改端点:
请尝试使用您的浏览器访问以下端点。
https://drive.google.com/uc?export=download&id={fileId}
- 当您使用它时,请设置文件 ID。在这种情况下,该文件不是 Google Docs。
- 当它访问上述端点时,可以检索到具有文件名的文件。
参考:
如果我误解了您的问题并且这不是方向,我深表歉意。
推荐阅读
- powerbi - 合计当前月份 + 2 AND 下个月 + 1 和之后的月份
- android - android x 设计依赖
- android - Android 上使用 WebGL 的顶点着色器工件
- android - 针对 Google Play 商店要求的 React-native targetSDKVersion
- python-3.x - 我正在尝试使用硒和美丽的汤来抓取网站
- python - 如何满足 Python 3 中 pdb 的安装要求并使用 pip install -e?
- graphql - 如何正确地将 Graphql 查询结果分类,例如按类别组织博客文章
- document - 如何将 Hotdocs word 模板与 K2 5 集成生成最终完成的文档?
- django - 规范化 Django 字段的值
- jquery - 如何使导航选项卡响应