前提条件
すでに以下を行っていることを前提としています。
- プロジェクトを作成します。 Google Cloud 
認証を構成する
サービス アカウントで認証するには:
- @Apiまたはメソッドのアノテーションに以下を追加します。- アノテーションに authenticatorsパラメータを追加して、その値を{EspAuthenticator.class}に設定します。
- @ApiIssuerを含む- issuersパラメータを追加します。
- サービス アカウントの発行元および対象に設定した @ApiIssuerAudienceを含むissuerAudiencesパラメータを追加します。
 - 例: - @Api( name = "echo", version = "v1", authenticators = {EspAuthenticator.class}, issuers = { @ApiIssuer( name = "serviceAccount", issuer = "YOUR_SERVICE_ACCOUNT_EMAIL", jwksUri = "https://www.googleapis.com/robot/v1/metadata/x509/YOUR_SERVICE_ACCOUNT_EMAIL") }, issuerAudiences = { @ApiIssuerAudience(name = "serviceAccount", audiences = "YOUR_AUDIENCE") })- echoは、API の名前に置き換えます。
- v1は、API のバージョンに置き換えます。
- YOUR_SERVICE_ACCOUNT_EMAILは、サービス アカウントのメールアドレスに置き換えます。
- YOUR_AUDIENCEは、呼び出し側のサービスが送信する- audフィールドの値に置き換えます。
 
- アノテーションに 
- API の実装コードに - Usersをインポートします。- import com.google.api.server.spi.auth.common.User;
- 次のメソッド定義例のように、認証情報が正しいかどうかを確認する各 API メソッドで、有効な - Userが存在するかどうかを確認して、存在しない場合は例外をスローします。- @ApiMethod(httpMethod = ApiMethod.HttpMethod.GET) public Email getUserEmail(User user) throws UnauthorizedException { if (user == null) { throw new UnauthorizedException("Invalid credentials"); } Email response = new Email(); response.setEmail(user.getEmail()); return response; }
- API をデプロイします。新しいクライアントを追加するたびに API を再デプロイする必要があります。