我正在尝试使用OAuth 2.0更新GSuite中的用户密码
我遇到以下异常:
UpdateEmailUserPassword Google针对此用户返回了错误。请检查Google异常详细信息,并确保这是有效的现有用户
UpdateEmailUserPassword Google异常详情:服务管理员抛出异常:Google.GoogleApiException:Google.Apis.Requests.RequestError 未授权访问此资源/ api [403] 错误[消息[未授权访问此资源/ api]位置[ - ]原因[禁止]域[全局]
我可以确认所使用的管理员帐户是一个超级管理员帐户,其中所有API范围都允许用于ClientID和服务帐户。我错过了什么吗?
答案 0 :(得分:0)
根据此thread,您需要创建一个service object授权服务帐户,代表给定用户。尝试将用户成员添加到ServiceAccountCredential.Initializer
。
样品:
ServiceAccountCredential credential = new ServiceAccountCredential(
new ServiceAccountCredential.Initializer(serviceAccountEmail)
{
Scopes = new[] { DirectoryService.Scope.AdminDirectoryUser },
User = "admin@mydomain.com" <-------- Added ADMIN User to fix
}.FromCertificate(certificate));