我期待在[这个例子] https://developers.google.com/admin-sdk/directory/v1/quickstart/quickstart-java)。
但我不希望使用URL复制/粘贴版本的权威性,所以我读过,我应该使用serviceaccount。
我下载了P12键并把它放在我的源文件夹。我正与一些代码,我就发现stackoverflow重建谷歌例
因此,这里是我走多远:
public class DirectoryCommandLine {
HttpTransport httpTransport = new NetHttpTransport();
JacksonFactory jsonFactory = new JacksonFactory();
// Build service account credential.
GoogleCredential credential = new GoogleCredential.Builder().setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountId("[email protected]")
.setServiceAccountScopes(DirectoryScopes.all())
.setServiceAccountPrivateKeyFromP12File(new java.io.File("eclipsejava-d6675et3ab71.p12"))
.build();
// Create a new authorized API client
Directory service = new Directory.Builder(httpTransport, jsonFactory, credential)
.setApplicationName("DirectoryCommandLine")
.build();
List<User> allUsers = new ArrayList<User>();
Directory.Users.List request = service.users().list().setCustomer("my_customer");
// Get all users
do {
try {
Users currentPage = request.execute();
allUsers.addAll(currentPage.getUsers());
request.setPageToken(currentPage.getNextPageToken());
} catch (IOException e) {
System.out.println("An error occurred: " + e);
request.setPageToken(null);
}
} while (request.getPageToken() != null &&
request.getPageToken().length() > 0 );
// Print all users
for (User currentUser : allUsers) {
System.out.println(currentUser.getPrimaryEmail());
}
}
}
如果我运行此我得到这个错误:
Error: Main method not found in class DirectoryCommandLine, please define the main method as:
public static void main(String[] args)
我想我需要添加
public static void main(String[] args) throws IOException {
盈方/前:
HttpTransport httpTransport = new NetHttpTransport();
JacksonFactory jsonFactory = new JacksonFactory();
但后来这一切得到一个烂摊子:
这无关与谷歌的API,但Java类结构。考虑到你是在Java初学者,你应该更简单的练习开始。
Oracle和互联网提供了大量有关Java文档。你可以开始寻找这些链接,例如:https://docs.oracle.com/javase/tutorial/getStarted/application/ https://docs.oracle.com/javase/tutorial/java/javaOO/classes.html