私は cURL で REST API を使用しています。これは、迅速かつ簡単なことを行う必要があるためです。つまり、厚い開発者 SDK です。
ファイルのbase64
エンコードと開始を開始しました。flac
speech.syncrecognize
それは最終的に失敗しました:
{
"error": {
"code": 400,
"message": "Request payload size exceeds the limit: 10485760.",
"status": "INVALID_ARGUMENT"
}
}
リクエストで 31,284,578 バイトを送信することはできません。Cloud Storage を使用する必要があります。そこで、flac オーディオ ファイルをアップロードし、Cloud Storage にあるファイルを使用して再試行します。それは失敗します:
{
"error": {
"code": 400,
"message": "For audio inputs longer than 1 min, use the 'AsyncRecognize' method.",
"status": "INVALID_ARGUMENT"
}
}
すばらしいspeech.syncrecognize
。コンテンツのサイズが気に入らない。で再試行してくださいspeech.asyncrecognize
。それは失敗します:
{
"error": {
"code": 400,
"message": "For audio inputs longer than 1 min, please use LINEAR16 encoding.",
"status": "INVALID_ARGUMENT"
}
}
よし、speech.asyncrecognize
LPCM しかできない。形式のファイルをアップロードして、pcm_s16le
再試行してください。最後に、操作ハンドルを取得します。
{
"name": "9174269756763138681"
}
チェックを続けてください。最終的には完了です。
{
"name": "9174269756763138681",
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.speech.v1beta1.AsyncRecognizeResponse"
}
}
待ってください、結局のところ、結果がキューに置かれているのでREST
、結果を要求する方法はありませんか? 誰かが私に、私の顔を真っ直ぐに見つめているのを見逃したこと、そして Google が完全に無意味で不完全な REST API を作成したわけではないことを教えてください。