Cloud Text-to-Speech API V1(Java)を使用して、
長時間実行オペレーションを取得する方法についてご紹介します。
APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Google Cloud Text-to-Speech API(V1)] JavaでText-to-Speech APIを使ってみる
を参照ください。
No | 目次 | |
---|---|---|
1 | オペレーション一覧を取得 | |
1 | スコープ | |
2 | 実行 | |
3 | レスポンスの内容 | |
2 | オペレーションを取得 | |
1 | スコープ | |
2 | 実行 | |
3 | レスポンスの内容 |
1. オペレーション一覧を取得
長時間実行オペレーション一覧を取得します。
1.1. スコープ
OAuth2.0でこのAPIを実行するには、以下のスコープを指定してください。
サービスアカウントで実行する場合はスコープの指定は不要です。
https://www.googleapis.com/auth/cloud-platform
1.2. 実行
public static void main(String[] args) throws Exception{
try(TextToSpeechLongAudioSynthesizeClient client = getTextToSpeechLongAudioSynthesizeClient();
OperationsClient op = client.getOperationsClient()){
ListOperationsRequest.Builder builder = ListOperationsRequest.newBuilder();
builder.setName(String.format(
"projects/%s/locations/%s",
"プロジェクトID","ロケーションID"));
OperationsClient.ListOperationsPagedResponse response = op.listOperations(builder.build());
for(Operation o : response.iterateAll()) {
System.out.println(o);
}
System.out.println(response.getNextPageToken());
}
}
1.2.1. HTTPリクエスト
GET: https://texttospeech.googleapis.com/v1/projects/{プロジェクトID}/locations/{ロケーションID}/operations
が実行されます。
1.2.2. クエリパラメータ
ListOperationsRequest.Builderのsetメソッドにより、クエリパラメータを追加できます。
build()メソッドでListOperationsRequestインスタンスを取得し、
listOperations()に渡します。
メソッド | 引数 | 説明 |
---|---|---|
setName | String | 【必須】リソース名 形式:"projects/{プロジェクトID}/locations/{ロケーションID}" |
steFilter | String | リストフィルター |
setPageSize | int | リストのページサイズ |
setPageToken | String | ページトークン |
1.3. レスポンスの内容
OperationsClient.ListOperationsPagedResponse
メソッド | 戻り値 | 説明 |
---|---|---|
iterateAll | Iterable<Operation> | 操作のリスト |
getNextPageToken | String | 次ページのトークン |
Operation
メソッド | 戻り値 | 説明 |
---|---|---|
getName | String | オペレーション名 形式:"projects/{プロジェクト ID}/locations/{ロケーションID}/operations/{オペレーションID}" |
getMetadata | Any | 操作に関連付けられたサービス固有のメタデータ |
getDone | boolean | 操作が進行中か |
getError | Status | 失敗またはキャンセルされた場合の操作のエラー結果 |
getResponse | Any | 操作の正常な正常な応答 |
Status
メソッド | 戻り値 | 説明 |
---|---|---|
getCode | int | ステータスコード |
getMessage | String | 開発者向けのエラーメッセージ |
getDetailsList | List<Any> | エラーの詳細を伝えるメッセージのリスト |
2. オペレーションを取得
長時間実行オペレーションを取得します。
2.1. スコープ
OAuth2.0でこのAPIを実行するには、以下のスコープを指定してください。
サービスアカウントで実行する場合はスコープの指定は不要です。
https://www.googleapis.com/auth/cloud-platform
2.2. 実行
オペレーション名は、OperationのgetName()で取得できる値を指定します。
public static void main(String[] args) throws Exception{
try(TextToSpeechLongAudioSynthesizeClient client = getTextToSpeechLongAudioSynthesizeClient();
OperationsClient op = client.getOperationsClient()){
Operation response = op.getOperation("オペレーション名");
System.out.println(response);
}
}
2.2.1. HTTPリクエスト
GET: https://texttospeech.googleapis.com/v1/projects/{プロジェクト ID}/locations/{ロケーションID}/operations/{オペレーションID}
が実行されます。
2.2.2. クエリパラメータ
クエリパラメータはありません。
2.3. レスポンスの内容
Operation
1.2. レスポンスの内容(Operation)と同じです。
おしまい。。