0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Google Cloud Text-to-Speech API(V1)] Javaで長時間実行オペレーションを取得する

Posted at

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)と同じです。



おしまい。。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?