0

[この例] https://developers.google.com/admin-sdk/directory/v1/quickstart/quickstart-javaを見ています)。

しかし、そのURLのコピー/貼り付けバージョンを認証に使用したくないので、サービスアカウントを使用する必要があることを読みました.

p12 キーをダウンロードして、ソース フォルダーに配置しました。そして、stackoverflowで見つけたコードを使用して、Google の例を再構築しています。

だからここに私が得る方法は次のとおりです:

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("......82p@developer.gserviceaccount.com")
        .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();

しかし、それはすべて混乱します: ここに画像の説明を入力

4

1 に答える 1

0

これは Google API とは関係ありませんが、Java クラス構造とは関係ありません。あなたが Java の初心者であることを考えると、より簡単な演習から始める必要があります。

Oracle とインターネットでは、Java に関する多くのドキュメントが提供されています。たとえば、次のリンクを見始めることができます: https://docs.oracle.com/javase/tutorial/getStarted/application/ https://docs.oracle.com/javase/tutorial/java/javaOO/classes.html

于 2014-11-27T14:56:32.007 に答える