0

これが、サービス アカウントを使用して構築された私の資格情報です。

GoogleCredential credential = new GoogleCredential.Builder()
             .setJsonFactory(jsonFactory).setTransport(httpTransport)

     .setServiceAccountId("xxxxxxx@developer.gserviceaccount.com")
     .setServiceAccountPrivateKeyFromP12File(new File("key.p12"))

     .setServiceAccountScopes(Collections.singleton(DirectoryScopes.ADMIN_DIRECTORY_USER))

     .build();

そして、私が試みているのは、ユーザーがcom.google.api.services.admin.directory.model.Userであるユーザーを取得することだけです

User u = null;
try {
    u = service.users().get("test@gmail.com").execute();
} catch (Exception e) {

    e.printStackTrace();
}

    return u.toPrettyString();
}

コード 404 Resource not found?? で応答が返されます。ユーザーを作成する必要がありますか? Gmailユーザーにアクセスするには?

4

1 に答える 1

2

サービス アカウントにドメイン全体の委任を既に許可していると仮定すると、サービス アカウントのドキュメント.setServiceAccountUser("admin@domain.com")に示されているように、管理者アカウントを偽装する必要があります。サービス アカウント自体はドメイン管理者ではないため、Admin SDK API を使用するにはドメイン管理者になりすます必要があります。

于 2014-10-23T20:21:56.690 に答える