无法更新密码 - GoogleApiException - 未授权访问此资源

时间:2017-03-17 13:19:33

标签: google-app-engine google-admin-sdk admin-sdk

我正在尝试使用OAuth 2.0更新GSuite中的用户密码

我遇到以下异常:

UpdateEmailUserPassword Google针对此用户返回了错误。请检查Google异常详细信息,并确保这是有效的现有用户

UpdateEmailUserPassword Google异常详情:服务管理员抛出异常:Google.GoogleApiException:Google.Apis.Requests.RequestError 未授权访问此资源/ api [403] 错误[消息[未授权访问此资源/ api]位置[ - ]原因[禁止]域[全局]

我可以确认所使用的管理员帐户是一个超级管理员帐户,其中所有API范围都允许用于ClientID和服务帐户。我错过了什么吗?

1 个答案:

答案 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));