問題の説明
callback-var
パラメーターがデコードされると、取得された結果は有効なJSON形式ではありません。 callback-varパラメーターは、コールバックを要求するために使用されます。
原因
リクエストのBase64エンコードcallback-var
パラメーターがデコードされた後、取得された結果は有効なJSON形式ではありません。 その結果、エラーが報告される。 callback-var
パラメーターは、URLベースのリクエストではcallback-var
パラメーター、リクエストヘッダーではx-oss-callback-var
フィールド、またはPostリクエストではcallback-var
という名前のフォームフィールドを参照します。 リクエストのcallback-var値は、Base64-encodedのJSON文字列である必要があります。 サーバーが値をデコードした後に取得した結果が有効なJSON形式でない場合、エラーが返されます。
例
ほとんどの場合、特殊文字はエスケープされないため、callback-var
パラメーターは有効なJSON形式ではありません。 さらに、callback-var
値がBase64形式にエンコードされる前に有効なJSON文字列でない場合、エラーも発生します。 例:
{
"x:var1":"value1",
"x:var2":"value2"
A}
の文字が前のcallback-var値にありません。 値は有効なJSON文字列ではありません。 これによりエラーが発生します。
ソリューション
リクエストのcallback-var
パラメーターの値が有効なBase64-encoded JSON文字列であることを確認します。 リクエストの作成方法については、「コールバック」をご参照ください。
関連ドキュメント
アップロードコールバック機能の原則とその使用方法については、「コールバックのアップロードおよびコールバック」をご参照ください。
アップロードコールバックの設定時に発生する可能性のある一般的なエラーとその原因の詳細については、「アップロードコールバック」をご参照ください。
POSTポリシーに基づいてさまざまなプログラミング言語でサーバーから署名情報を取得し、アップロードコールバックを設定してから、フォームを使用してObject Storage Service (OSS) にデータを直接アップロードする方法の詳細については、「概要」をご参照ください。
モバイルアプリにOSSベースの直接データ転送サービスを設定し、アップロードコールバックを設定する方法の詳細については、「モバイルアプリのアップロードコールバックの設定」をご参照ください。