HTTPステータスコードとレスポンス形式
サーバーは以下のHTTPステータスコードを返します:
- 200 – メソッドの呼び出し成功
- 4xx – メソッドの不正なパラメータ
- 5xx – サーバー側のエラー
レスポンスの本文にはJSONが含まれます。
ステータスコード200のレスポンス形式
{ "taskId": <task guid>, "registrationTime": <task creation time>, "statusChangeTime": <status change time>, "status": <status>, "filesCount": <amount of submitted files>, "error": <error text>, "requestStatusDelay": <recommended delay before next gettaskstatus request in ms>, "resultUrls": [ <url1>, <url2> ], "description": <description> }
-
resultUrls – この属性は最大3つのURLを提供する配列です。 T最初のURLが利用できるのは完了したタスクのみです。 これには処理結果が含まれます。
結果をダウンロードするためのGETリクエストに、承認ヘッダーを含めてはなりません。 Cloud OCR SDK承認ヘッダーを使用すると、エラーを返します。
2番目のURLは、複数のエクスポート形式で処理された、完了したタスクに使用できます。 2番目の指定形式で保存された結果が含まれます。
3番目のURLは、3つのエクスポート形式で処理された、完了したタスクに使用できます。 3番目の指定形式で保存された結果が含まれます。
ハイパーリンクには有効期限があります。 その有効期限以降に結果をダウンロードしたい場合は、getTaskStatusまたはlistTasksメソッドを使って、新しいハイパーリンクを取得してください。 - filesCount – タスク中のファイルの数を指定します。
- requestStatusDelay – タスクが完了するまでの予定時間(ミリ秒)。 この属性はQueuedまたはInProgressステータスのタスクで利用できます。
- error – 処理中に発生したエラーの説明。 この属性はProcessingFailedステータスのタスクのみ利用できます。
最初のタスクが失敗した場合、何度も繰り返し同じファイルを送信することはおすすめしません。 しかし、同じファイルに対して複数のタスクを作成し、そのすべてが失敗した場合、getTaskStatusを呼び出せば最初のタスクの詳細なエラー情報が取得できます。
ステータスコード4xxおよび5xxのレスポンス形式
{ "error": { "code":<error internal name>, "message":<error message>, "target":<target argument>, "details": [ { "code":<validation error internal name>, "target":<target argument>, "message":<error message> } ] } }
- code – 発生したエラーの内部的な固有名。 下記の表は、可能性のあるエラー名です。
- message – 人間が理解できる形のエラーの説明。
- target – エラーの原因となったリクエストの引数。例:必須のtaskId引数が指定されていない場合、ターゲット要素は"taskId"という値を保存します。このパラメータは、オプションです。
- details – HTTPレスポンスステータスコード400の InvalidArgumentエラーに返されるエラーオブジェクトの配列。 すべての配列要素は、リクエスト引数で考えられるエラーの1つに対応します(例:引数の不正な値)。すべてのエラーには、code要素で返される独自の内部名、target要素(オプション)で返されるエラーの原因となる引数、およびmessage要素で返される説明があります。
ステータスコードとレスポンス形式
以下の表は、一般的なメソッドのステータスコードとレスポンス形式です。
コード | エラー名 | 説明 |
---|---|---|
200 | 成功したメソッドの呼び出し。 | |
400 | InvalidArgument |
1つ以上の引数に誤りがあります。 詳細については、この下の表を参照してください。 |
402 | NotEnoughUnits | アカウントで処理できる画像の限度数に到達したことを示します。 この問題はアカウントの上限を増やすことで解消できます。 |
QuotaExceeded | 画像を追加するためのクオータ(割り当て)を超えていることを示します。アップロードした画像の数が、アカウントの残高で処理できる画像の数やその他の基準値を超えると、エラーが返されます。 この問題は、すでに送信したタスクのうち、まだ処理されていないものを取り消すことで解消できます。 | |
409 | InvalidTaskState | ターゲットリソースの現在のステータスに矛盾があり、リクエストを完了できないことを示します。 例: 削除しようとしているタスクが現在処理中である場合。 |
422 | FileWrongAccessPassword | パスワードで保護された画像ファイルにアクセスするためのパスワードに、間違ったパスワードが指定されていることを示します。 |
FileHasAccessRestrictions | アップロードした画像にアクセスエラーがあることを示します。 | |
FileFormatUnsupported | Uアップロードした画像形式に対応しておらず、処理ができないことを示します。 | |
FileCantOpenImage | 画像ファイルを開いた際に内部エラーが発生したことを示します。 | |
500 | InternalServerError | 内部サーバーエラーが発生したことを示します。 |
以下は、コード400InvalidArgumentエラーのバリエーションです。
エラー名 | 説明 |
---|---|
InvalidParameterName | 1つ以上の引数の名前が無効です。 |
InvalidParameterValue | 受け渡されたパラメータの1つ以上が無効な値に設定されています。 例: タスク説明の長さが255文字を超えている場合。 |
MissingArgument | O1つ以上の引数が必要です。 例: タスクの識別子が指定されていない場合。 |
ConflictingParameters | 一部のパラメータは、同時に複数の指定値に設定することはできません。 例: 指定された言語が手書きテキストタイプに対応していない場合。 |