已启用对应Scope仍触发403 ACCESS_TOKEN_SCOPE_INSUFFICIENT错误求助
解决Drive Activity API 403 "Insufficient Authentication Scopes" 错误
问题核心
你的错误ACCESS_TOKEN_SCOPE_INSUFFICIENT说明当前使用的Bearer Token未包含调用QueryDriveActivity接口所需的权限范围——哪怕你在Google Cloud控制台启用了对应Scope,只要生成Token时没有请求这些权限,Token就无法访问该API。
分步解决方案
1. 确认必填权限范围
调用DriveActivityService.QueryDriveActivity必须至少包含以下Scope之一:
https://www.googleapis.com/auth/drive.activity.readonly(推荐只读权限)https://www.googleapis.com/auth/drive.activityhttps://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/drive
2. 重新生成带正确Scope的Access Token
旧Token大概率是在添加Scope前生成的,或者生成时未指定所需权限:
- 若用OAuth 2.0授权流程:重新发起授权,确保请求的
scope参数包含上述至少一个权限 - 若用服务账号:重新生成密钥文件,初始化客户端时明确指定所需Scope(不要仅依赖控制台配置)
- 替换VBA代码中的
[MYTOKEN]为新生成的Token
3. 验证Token权限
通过Google Token信息端点检查当前Token的Scope:
发送GET请求:
https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=你的Bearer Token
查看返回的scope字段,确认是否包含Drive Activity相关权限。
4. 服务账号额外排查(若使用服务账号)
- 确保服务账号邮箱已被共享到目标Drive资源(文件/文件夹)
- 若为G Suite/Workspace账号,确认服务账号的Domain-Wide Delegation已正确配置
代码补充提示
你的VBA代码中,filter的日期需符合RFC 3339格式(如2024-05-01T00:00:00Z),这虽不是当前权限错误的原因,但会影响后续接口返回结果。
内容的提问来源于stack exchange,提问作者umpulumpa
相关产品推荐
相关产品推荐

