使用Python无法列出Google Drive文件的问题求助
问题排查与解决方案
核心问题:服务账号的独立存储空间
你能上传文件但无法列出指定文件夹内容,大概率是因为服务账号有自己独立的Google Drive存储空间,和你个人的Google Drive并非同一空间:
- 用服务账号上传的文件默认存在它自己的Drive里,而你指定的
topFolderId可能是你个人Drive中的文件夹,服务账号没有权限访问。 - 如果目标文件夹属于服务账号Drive,要确认上传文件时是否正确指定了该文件夹作为父目录(即上传代码里的
parents参数是否为topFolderId)。
具体解决步骤
步骤1:确认文件夹归属与权限
找到creds.json里的client_email字段(服务账号的邮箱),如果目标文件夹在你个人Drive里,直接把该文件夹共享给这个邮箱,权限至少设为「查看者」;如果是服务账号Drive里的文件夹,登录该服务账号的Drive网页版,确认文件夹存在且上传的文件确实在其中。步骤2:优化查询条件
在files().list的查询参数里加上trashed=false,过滤已删除文件,避免因返回空列表误判:response = service.files().list( q=f"'{topFolderId}' in parents and trashed=false", pageSize=1000, pageToken=pageToken, fields="nextPageToken, files(id, name)" ).execute()步骤3:调试排查
在代码里打印完整响应内容,排查是否有明确的错误提示:print(response)如果返回权限相关报错,回到步骤1重新配置共享权限。
步骤4:验证上传路径
检查上传文件的代码,确认是否指定了parents=[topFolderId]参数,否则文件会被传到服务账号Drive的根目录,自然不会出现在目标文件夹的列表中。
内容的提问来源于stack exchange,提问作者ben890
相关产品推荐
相关产品推荐

