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

如何通过Google Drive V3 REST API获取指定路径文件的item id

Google Drive V3 API 按路径查询文件ID操作指南

Google Drive 本身采用基于ID的存储架构,没有原生的路径概念,用户感知到的路径是多层父文件夹的层级关系拼接生成的,因此要按路径查询文件ID,需要逐层查询每一级文件夹的ID,最终定位到目标文件。

1 拆分目标路径

以示例路径/root/Myfiles/test.txt为例:

  • Google Drive 个人根目录固定别名为root,无需额外查询ID
  • 拆分后层级为:根目录(root)→ 子文件夹Myfiles → 目标文件test.txt

2 q查询参数核心规则

q参数是Drive API的过滤查询语句,本次查询用到的核心过滤条件如下:

  • name:匹配文件/文件夹名称,字符串需要用单引号包裹
  • parents:匹配父文件夹的ID,ID值需要用单引号包裹
  • mimeType:区分资源类型,文件夹的固定MIME类型为application/vnd.google-apps.folder
  • trashed = false:排除已移入回收站的资源,避免误匹配

3 逐层查询操作

3.1 查询根目录下Myfiles文件夹的ID

构造q参数:

'root' in parents and name = 'Myfiles' and mimeType = 'application/vnd.google-apps.folder' and trashed = false

完整请求示例(注意参数需要做URL编码):

GET https://www.googleapis.com/drive/v3/files?q='root'%20in%20parents%20and%20name%20%3D%20'Myfiles'%20and%20mimeType%20%3D%20'application/vnd.google-apps.folder'%20and%20trashed%20%3D%20false

请求头需要携带授权信息:Authorization: Bearer <你的接口访问令牌>,授权范围至少包含https://www.googleapis.com/auth/drive.readonly。
返回结果中files数组的id字段就是Myfiles文件夹的ID,假设此处拿到的ID为123abc_xyz。

3.2 查询Myfiles文件夹下test.txt的ID

将上一步拿到的文件夹ID作为父ID,构造q参数:

'123abc_xyz' in parents and name = 'test.txt' and trashed = false

完整请求示例:

GET https://www.googleapis.com/drive/v3/files?q='123abc_xyz'%20in%20parents%20and%20name%20%3D%20'test.txt'%20and%20trashed%20%3D%20false

返回结果中files数组的id字段就是你需要的目标文件item-id。

注意事项

  • 如果同一层级下存在重名的文件/文件夹,返回的files数组会包含多个结果,你需要结合其他属性(比如文件大小、创建时间)二次过滤得到目标资源
  • q参数中的特殊字符(空格、等号、单引号等)必须做URL编码,否则会触发请求报错
  • 如果目标路径层级更多,按照上述逻辑逐层查询每一级文件夹的ID,直到最后一级查询目标文件即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 09:24:01