POST media/upload (APPEND)

概要

APPENDコマンドを使用すると、メディアファイルのチャンク(連続するバイト範囲)をアップロードできます。たとえば、3つのAPPENDコマンドリクエストを使用して、3MBのファイルを1MBサイズのチャンク3つに分割し、アップロードできます。ファイル全体をアップロードしたら、次の手順はFINALIZEコマンドの呼び出しです。

次のように、メディアファイルを小さいチャンクでアップロードするメリットは複数あります。

  • 低帯域幅ネットワークという条件下での信頼性と成功率が向上します
  • アップロードを停止、再開できます
  • ファイルのチャンクを個別に再試行できます
  • セルラークライアントの場合など、ネットワーク状況の変化に合わせてチャンクのサイズを調整できます

リクエスト

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

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

応答

成功した場合の応答はHTTP 2xxを返します。

リソースURL

https://upload.twitter.com/1.1/media/upload.json

リソース情報

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

パラメータ

名前 要否 説明 デフォルト値
command 必須 APPENDに設定する必要があります(大文字、小文字の区別あり)。
media_id 必須 INITコマンドから返されるmedia_idです。
media 必須 未処理のバイナリファイルコンテンツがアップロードされています。5MB以下である必要があります。また、media_dataとは併用できません。
media_data 必須 base64でエンコードしたメディアファイルのチャンクです。5MB以下である必要があります。また、mediaとは併用できません。可能な場合は未処理のバイナリ(メディアパラメータ)を使用します。
segment_index 必須 ファイルのチャンクに順番に付けられたインデックスです。必ず0~999の間の数字になります(両方の数字を含む)。最初のセグメントのインデックスは0、2つ目のセグメントのインデックスは1で、以下、同様に処理されます。

リクエストの例

POST https://upload.twitter.com/1.1/media/upload.json?command=APPEND&media_id=123&segment_index=2&media_data=123

結果の例

// Successful response returns HTTP 2XX code without any content body.