使用Google Drive API通过父ID获取文件夹列表报Bad Request问题求助
解决Google Drive API获取指定父文件夹下文件夹的Bad Request问题
看起来你在调用Drive API获取文件夹列表时踩了个常见的小坑——别急,既然你已经能成功在目标文件夹下创建文件/文件夹,说明权限和访问Token都是没问题的,大概率是请求方法或者参数格式出了错。
核心问题:你可能用错了请求方法
Google Drive v3 API的文件列表查询接口是GET请求,而不是创建资源时用的POST请求。很多人会因为创建操作习惯了POST,下意识用同样的方法去查列表,这直接就会返回Bad Request错误。
正确的Postman操作步骤
新建GET请求,输入API端点:
https://content.googleapis.com/drive/v3/files添加必要的查询参数(切换到
Params标签):- 第一个参数(必填):
- Key:
q - Value:
'你的父文件夹ID' in parents and mimeType='application/vnd.google-apps.folder'
注意:父文件夹ID必须用单引号包裹,mimeType要严格对应Google文件夹的固定类型,这个值不能写错。
- Key:
- 第二个参数(可选但推荐):
- Key:
fields - Value:
files(id,name)
这个参数用来指定返回的字段,避免冗余数据,也能减少不必要的权限校验问题,你可以根据需求添加
createdTime、modifiedTime等字段。 - Key:
- 第一个参数(必填):
配置请求头(切换到
Headers标签):- 添加
Authorization头,值为:Bearer 你的访问Token
这个Token和你创建文件时使用的是同一个,确保它包含
drive.readonly或者drive的权限范围。- 添加
发送请求,现在应该能正常返回指定父文件夹下的所有文件夹列表了。
额外错误排查点
- 如果还是收到Bad Request,先检查
q参数格式:有没有漏写单引号?父ID是不是复制错误?mimeType有没有拼写失误? - 再次确认请求方法是GET,绝对不能用POST(POST仅用于创建资源)。
- 确保你的访问Token没有过期,或者权限足够访问目标父文件夹(你能创建文件,这一点大概率没问题)。
内容的提问来源于stack exchange,提问作者Daniel




