![](/img/trans.png)
[英]How to fetch a list of more than 500 users in Google Directory API?
[英]Google Java API to list users in a company
我正在尝试使用Java SDK列出公司中的用户。 我正在尝试的代码是:
try {
httpTransport = GoogleNetHttpTransport.newTrustedTransport();
credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId("xxx@developer.gserviceaccount.com")
.setServiceAccountScopes(Collections.singleton(DirectoryScopes.ADMIN_DIRECTORY_USER))
.setServiceAccountUser("adminuser@myTestDomain.com")
.build();
Directory directory = new Directory.Builder(httpTransport, JSON_FACTORY, credential)
.setApplicationName("My App Name")
.build();
Users result = null;
result = directory.users().list().setDomain("myTestDomain.com").execute();
}
我有一个私钥字符串,如下所示:
key = new String("-----BEGIN RSA PRIVATE KEY-----\n"
+"blah1\n"
+"blah2\n"
+"-----END PRIVATE KEY-----");
现在,我如何获取将上述“键”字符串作为私钥构建的Google凭证,并能够列出用户。 我已经尝试过,将字符串读取为字节数组,从文件等中读取字符串,但是所有这些均因一个错误或另一个错误而失败。
我只需要获取域myTestDomain.com中的用户列表,该域的管理员是adminuser@myTestDomain.com。 我可以通过以下Go代码btw成功获得相同的结果。 我只用Java代码苦苦挣扎。 有指针吗? 谢谢。
转到代码:
conf := &jwt.Config{
Email: "xxx@developer.gserviceaccount.com",
PrivateKey: []byte(`-----BEGIN RSA PRIVATE KEY-----
blah1
blah2
-----END PRIVATE KEY-----`),
Scopes: []string{admin.AdminDirectoryUserScope},
TokenURL: google.JWTTokenURL,
Subject: "adminuser@myTestDomain.com",
}
client := conf.Client(oauth2.NoContext)
srv, _ := admin.New(client)
u, _ := srv.Users.List().Domain("myTestDomain.com").Do()
fmt.Println(u.Users)
您可以阅读直接从Google Developers Console下载的JSON服务帐户密钥:
InputStream is = new FileInputStream(new File("myFile.json"));
credential = GoogleCredential.fromStream(is, httpTransport, JSON_FACTORY)
.createScoped(Collections.singleton(DirectoryScopes.ADMIN_DIRECTORY_USER));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.