通过API获取Google Workspace第三方授权应用列表遇401权限错误
关于Google Workspace外部组织应用列表获取的权限问题
背景说明
我们正在尝试通过Admin SDK的Reports API,获取外部Google Workspace组织下所有用户已授权的应用列表。采用OAuth2令牌授权,请求的权限范围为https://www.googleapis.com/auth/admin.reports.usage.readonly和https://www.googleapis.com/auth/admin.reports.audit.readonly。
目前GCP端已启用Admin SDK,OAuth客户端及授权流程运行正常:可获取带有正确权限范围的访问令牌,且该令牌能正常获取用户信息;同时确认完成OAuth授权的用户,具备管理控制台的活动访问权限。
但调用API获取活动信息以收集应用列表时,出现以下错误:
googleapi: Error 401: Access denied. You are not authorized to read activity records., authError
待解答问题
- 除域委派缺失外,还有哪些原因会导致上述401权限错误?
- 我们已知域委派可解决问题且测试成功,但该方式会增加额外配置步骤,希望通过OAuth权限范围避免此操作。是否有其他API或更优方式获取已关联的应用列表?
相关代码实现(Go)
tokenSource := oauth.StaticTokenSource( &oauth.Token{ AccessToken: req.OAuthToken, RefreshToken: req.OauthRefreshToken, TokenType: "Bearer", }, ) service, err := admin.NewService(ctx, option.WithTokenSource(tokenSource)) if err == nil && service != nil { return service, nil } apiActivities, err := service.Activities.List("all", "token").Do() if err != nil { return nil, err }
内容的提问来源于stack exchange,提问作者Alfonso Brown González
相关产品推荐
相关产品推荐

