You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Google Drive API修改文件父ID时生成空版本的问题咨询

问题根源与修正方案

你的API调用存在关键错误:误用了Drive的上传端点,这才导致生成0字节的无效修订版。

  • 你当前使用的是/upload/drive/v3/files/路径,这个端点专门用于上传/更新文件内容、创建包含文件数据的修订版。当你用PATCH请求这个端点但未传递任何文件内容时,就会生成空的0字节修订版,进而导致文件无法正常预览或下载。
  • 修改文件父级(移动文件)属于文件元数据更新操作,应该使用普通的文件元数据更新端点,而非上传端点。

正确的curl命令

curl \
--silent \
--fail \
-H "Authorization: Bearer $ACCESS_TOKEN" \
--request PATCH \
"https://www.googleapis.com/drive/v3/files/$FILE_ID\
?supportsAllDrives=true\
&supportsTeamDrives=true\
&removeParents=$OLD_PARENT_ID\
&addParents=$NEW_PARENT_ID"

注:可移除GData-Version: 3.0请求头,这是旧版API的要求,Drive v3 API无需该头。

补充说明

Google Drive API文档中提到的「更新请求必须使用addParents和removeParents参数修改父级列表」,指的是普通的文件元数据PATCH请求,而非上传内容的请求。使用正确端点后,移动文件操作只会更新文件的父级元数据,不会生成额外修订版,也就不会出现文件无法访问的问题。

内容的提问来源于stack exchange,提问作者TommyD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 21:57:18