App/Computeで実行されていないアプリケーションのサービスアカウントキーをJavaでGoogle Cloud SDKでプログラムで作成しようとしていますエンジン。 This questionは鉱山と似ていますが、App Engine上で実行されているため、App Engine APIのクラスを使用するのと同じコードを使用することはできません。Google Cloud Java SDKのダウンロードなしでサービスアカウントを認証する方法(App Engineではなく)
関連コードは以下のとおりです。私の問題はAppIdentityCredentialがAppEngine APIの一部であるため、ここでは使用できないということです。代わりにパラメータとして渡すことはできますか?新しいBuilder()メソッドの3番目のパラメータにはHttpRequestInitializerが入りますが、このインターフェイスの実装がわかればわかりません。助けてください。
import com.google.api.services.iam.v1.Iam;
import com.google.api.services.iam.v1.model.CreateServiceAccountKeyRequest;
import com.google.api.services.iam.v1.model.ServiceAccountKey;
AppIdentityCredential credential = new AppIdentityCredential(
Arrays.asList("https://www.googleapis.com/auth/cloud-platform"));
Iam iam = new Iam.Builder(httpTransport, JSON_FACTORY,credential)
.setApplicationName(APPLICATION_NAME).build();
ServiceAccountKey key = iam.projects().serviceAccounts().keys()
.create(SERVICE_ACCOUNT_RESOURCE_NAME, new CreateServiceAccountKeyRequest()).execute();