.net Google目录API:未获得授权
显然-如果我错了,请纠正我-要正确使用Google API/授权,您需要指定以@developer.gserviceaccount.com结尾的服务帐户电子邮件 但是,此帐户将无法访问我要向/从中添加/列出/删除用户的域。我想这就是我未经授权的请求的原因 如何授予此帐户对要影响更改的域的权限?或者-我应该在授权期间列出不同的帐户吗?如果是的话,我该怎么做?因为当我指定一个有权限的域帐户时,我得到了无效的授权 任何帮助都将不胜感激。谢谢 代码如下:.net Google目录API:未获得授权,.net,google-api,google-directory-api,.net,Google Api,Google Directory Api,显然-如果我错了,请纠正我-要正确使用Google API/授权,您需要指定以@developer.gserviceaccount.com结尾的服务帐户电子邮件 但是,此帐户将无法访问我要向/从中添加/列出/删除用户的域。我想这就是我未经授权的请求的原因 如何授予此帐户对要影响更改的域的权限?或者-我应该在授权期间列出不同的帐户吗?如果是的话,我该怎么做?因为当我指定一个有权限的域帐户时,我得到了无效的授权 任何帮助都将不胜感激。谢谢 代码如下: String szDomainN
String szDomainName = "testdomainname.com";
String szServiceAccount = "google_generated_user@developer.gserviceaccount.com";
var certificate = new X509Certificate2(@"Google_Key.p12", "notasecret", X509KeyStorageFlags.Exportable);
ServiceAccountCredential.Initializer ServiceAccountCredentialInitializer = new ServiceAccountCredential.Initializer(szServiceAccount);
ServiceAccountCredentialInitializer.FromCertificate(certificate);
ServiceAccountCredentialInitializer.Scopes = new[] { DirectoryService.Scope.AdminDirectoryUser };
ServiceAccountCredential credential = new ServiceAccountCredential(ServiceAccountCredentialInitializer);
// Create the service.
BaseClientService.Initializer ServiceInitializer = new BaseClientService.Initializer();
ServiceInitializer.HttpClientInitializer = credential;
ServiceInitializer.ApplicationName = "List Users";
var service = new DirectoryService(ServiceInitializer);
var listReq = service.Users.List();
listReq.Domain = szDomainName;
您仍然需要设置您将代表的服务帐户用户。即使您正在使用服务帐户,您仍然需要设置服务帐户用户,即您所代表的域中的用户 您可以在“其他”部分中看到此示例。 就是那条线。setServiceAccountUseruser@example.com.