POST media/upload (FINALIZE)

概要

FINALIZEコマンドは、APPENDコマンドを使用してメディアファイル全体をアップロードした後で呼び出します。FINALIZEコマンドの応答がprocessing_infoフィールドを含む場合(に限り)、ツイートの作成に進む前に、STATUSコマンドを使用して成功が返されるのを待機する必要もあります。

リクエスト

リクエストはmultipart/form-dataPOST形式またはapplication/x-www-form-urlencodedPOST形式である必要があります。

注: このエンドポイントのドメインはupload.twitter.comです

応答

応答では、media_id(64ビットの整数値)フィールドおよびmedia_id_string(文字列)フィールドにメディア識別子が返されます。JavaScript、および長い整数値を正確に記述できないその他の言語の場合は、API応答で返されるmedia_id_stringを使用します。

返されたmedia_idの有効期間はexpires_after_secs秒間のみです。この時間枠の後に他のAPI呼び出しでmedia_idの使用を試みると、Bad Request(HTTP 4xx)が返されます。

応答にprocessing_infoフィールドが含まれる場合は、次にSTATUSコマンドを使用してFINALIZE操作のステータスをポーリングします。メディアの処理にさらに時間がかかる場合は、非対称完了アプローチを使用します。将来的に、動画とアニメーションGIFのすべての処理は非対称完了によってのみサポートされる予定です。この動作が有効になるのは、アップロードされたセッションがmedia_categoryパラメータを使用して開始され、メディアのタイプが動画またはアニメーションGIFのいずれかである場合です。

応答の中でprocessing_infoフィールドが返されていない場合は、media_idを他のAPIエンドポイントで使用できます。

リソース情報

応答形式 JSON
認証の要否 要(ユーザーのコンテキストに限る)
レート制限 あり

パラメータ

名前 要否 説明 デフォルト値
command 必須 FINALIZEに設定する必要があります(大文字、小文字の区別あり)。
media_id 必須 INITコマンドから返されるmedia_idです。

リクエストの例

POST https://upload.twitter.com/1.1/media/upload.json?command=FINALIZE&media_id=710511363345354753

結果の例

// Example of sync FINALIZE response
{
  "media_id": 710511363345354753,
  "media_id_string": "710511363345354753",
  "size": 11065,
  "expires_after_secs": 86400,
  "video": {
    "video_type": "video/mp4"
  }
}

// Example of async FINALIZE response which requires further STATUS command call(s)
{
  "media_id": 710511363345354753,
  "media_id_string": "710511363345354753",
  "expires_after_secs": 86400,
  "size": 10240,
  "processing_info": {
    "state": "pending",
    "check_after_secs": 5 // check after 5 seconds for update using STATUS command
  }
}