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

Google Drive API无法列出文件夹内文件(文件实际存在)

问题分析与解决方法

核心错误点

  • 父文件夹ID误用:第二个查询中,你定义了目标文件夹ID folder_id = "6789",但实际筛选时仍使用了上级文件夹的parent_folder_id,导致查询范围错误。
  • MIME类型筛选错误:application/vnd.google-apps.file并非Google Drive中标准的文件MIME类型,实际文件(如图片、文档)都有各自专属的MIME类型,这个条件会直接排除所有真实存在的文件。

修正后的代码

import requests

headers = {
    "Authorization": GCP_ACCESS_TOKEN,
    "Content-Type": "application/json"
}

# 第一步:获取目标文件夹ID(原逻辑正确,保留)
parent_folder_id = "12345"
folder_name = "photos"
query = f"name='{folder_name}' and '{parent_folder_id}' in parents and mimeType='application/vnd.google-apps.folder' and trashed=false"
params = {
    "q": query,
    "fields": 'files(id)'
}

response = requests.get("https://www.googleapis.com/drive/v3/files", headers=headers, params=params)
folder_id = response.json()['files'][0]['id']
print(f"目标文件夹ID:{folder_id}")

# 第二步:获取目标文件夹内所有文件ID(修正后)
query = f"'{folder_id}' in parents and trashed=false"
params = {
    "q": query,
    "fields": 'files(id)'
}

response = requests.get("https://www.googleapis.com/drive/v3/files", headers=headers, params=params)
print(response.json())

额外适配说明

  • 若仅需筛选非Google原生文件(如本地上传的图片、PDF),可添加MIME类型排除条件:
    query = f"'{folder_id}' in parents and not mimeType contains 'application/vnd.google-apps.' and trashed=false"
    
  • 若文件夹内文件数量超过100个,需使用pageToken参数实现分页查询,避免结果截断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 04:41:04