使用Google Drive Activity API查询时遇权限范围不足错误求助
解决Drive Activity API v2权限不足错误的方法
以下是针对该问题的具体排查和解决步骤:
删除旧令牌缓存,重新授权
新增权限后,本地缓存的OAuth令牌可能仍使用旧的权限范围。找到项目中的令牌缓存文件(通常命名为token.json),删除后重新运行授权流程,生成包含完整权限的新令牌。确认OAuth权限配置已生效
登录Google Cloud控制台,进入对应项目的OAuth同意屏幕页面,检查drive.activity和drive.activity.readonly权限是否已保存并发布:- 若为内部应用(仅组织内用户使用),修改权限后保存即可生效;
- 若为外部应用,需将同意屏幕发布到生产环境,否则新增权限不会对测试用户以外的账号生效。
验证Drive Activity API是否启用
在Google Cloud控制台的API库中,确认Drive Activity API v2已被启用。未启用的API即使权限配置正确,也会返回权限错误。检查令牌实际包含的权限范围
在代码中添加逻辑,打印当前访问令牌的实际权限,确认是否包含所需权限:const tokenInfo = await oauth2Client.getTokenInfo(oauth2Client.credentials.access_token); console.log('实际生效的权限范围:', tokenInfo.scope);如果输出中没有
drive.activity或drive.activity.readonly,说明授权流程未获取到新权限,需重新执行授权。验证请求参数的有效性
确认itemName中的thirdPartyId是有效的Drive文件ID。无效的资源ID可能会触发看似权限不足的错误,建议替换为已知存在的文件ID进行测试。
内容的提问来源于stack exchange,提问作者Leo Xie
相关产品推荐
相关产品推荐

