Google Drive API v3获取公共文件夹文件无返回及q参数报错问题
问题原因
2022年起Google Drive API针对API Key调用的共享资源访问规则做了调整,你遇到的错误是旧文件夹的共享权限不符合API Key的访问要求导致的,和q参数语法、文件夹ID正确性无关。
可行解决方法
- 检查旧文件夹的公开共享设置:进入旧文件夹的共享页面,将通用访问权限从「知道链接的任何人可查看」调整为「任何人在互联网上都可以查找和查看」。仅链接可访问的非公开索引资源现在不支持通过API Key直接枚举内容,这也是你新建的符合公开规则的文件夹可以正常返回结果的核心原因。
- 如果旧文件夹属于Google Workspace企业账号,联系账号管理员确认是否开启了「禁止外部API访问内部共享资源」的策略,这类策略会拦截未做OAuth授权的API Key请求,仅对完全公开的对外发布资源放行。
- 可以在原q参数后追加
and trashed = false过滤规则,完整q参数为'FOLDER_ID' in parents and trashed = false,排除旧文件夹中可能存在的未彻底清理的已删除文件碎片导致的API校验错误。 - 如果你不希望将文件夹设置为完全公开可索引,将调用方式从API Key换成OAuth 2.0授权调用即可,只要授权账号持有该文件夹的查看权限,就能正常拉取文件列表,不受公开共享规则限制。
内容的提问来源于stack exchange,提问作者Toniq
相关产品推荐
相关产品推荐

