Google Drive API共享盘fileId调用watch接口返回200收不到webhook问题
问题成因及操作错误说明
- OAuth权限范围不匹配
你当前使用的令牌如果仅申请了https://www.googleapis.com/auth/drive.file权限范围,该范围仅允许访问你自主创建、或手动打开过的共享盘文件,若监听的共享盘文件不在该授权范围内,即使接口返回200成功,也不会触发推送。需将权限范围升级到https://www.googleapis.com/auth/drive.readonly及以上级别。 - 共享盘成员权限缺失
发起请求使用的账号(普通谷歌账号或服务账号)未被添加为目标共享盘的成员,或成员权限低于「内容查看者」级别。个人盘文件你本身为所有者默认权限充足,共享盘资源需要手动将请求账号添加到共享盘成员列表并分配对应权限。 - 请求参数配置错误
你在请求URL中同时配置了corpora=allDrives和driveId参数,针对单个共享盘文件的监听场景,corpora参数应设置为drive而非allDrives,否则接口会默认过滤共享盘的变更通知。从你返回的resourceUri中可见supportsTeamDrives=false,说明接口未正确识别共享盘请求,需确认supportsAllDrives=true参数正常传参生效,避免共享盘资源被接口拦截。 - webhook域名未完成验证
共享盘资源的webhook推送强制要求接收地址的域名在Google Cloud控制台对应项目的Drive API域名白名单中完成验证,个人盘推送无该强制限制,未验证的域名会直接拦截共享盘的推送请求。
内容的提问来源于stack exchange,提问作者dima1024
相关产品推荐
相关产品推荐

