谷歌目录API:未获得授权



显然-如果我错了,请更正我-要正确使用Google API/授权,您需要指定以"@developer.gserviceaccount.com"结尾的服务帐户电子邮件。

但是,此帐户将无法访问我要向其添加/列出/删除用户的域。我想这就是我"未经授权"请求的原因。

如何将此帐户权限授予要影响更改的域?或者-我应该在授权期间列出一个不同的帐户吗?如果是,我该怎么做?因为当我指定确实有权限的域帐户时,我会得到"invalid_grant"。

如有任何帮助,我们将不胜感激。谢谢

这是代码:

        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;

您仍然需要设置要代表的服务帐户用户。即使您使用的是服务帐户,您仍然需要设置服务帐户用户,即您所代表的域中的人员。

你可以在"其他"部分看到这个例子
https://developers.google.com/accounts/docs/OAuth2ServiceAccount#jwtsample_java

即线路CCD_ 1。

相关内容

  • 没有找到相关文章

最新更新