メディアのアップロード
POST media/upload (APPEND)
概要¶
APPEND
コマンドを使用すると、メディアファイルのチャンク(連続するバイト範囲)をアップロードできます。たとえば、3つのAPPEND
コマンドリクエストを使用して、3MBのファイルを1MBサイズのチャンク3つに分割し、アップロードできます。ファイル全体をアップロードしたら、次の手順はFINALIZEコマンドの呼び出しです。
次のように、メディアファイルを小さいチャンクでアップロードするメリットは複数あります。
- 低帯域幅ネットワークという条件下での信頼性と成功率が向上します
- アップロードを停止、再開できます
- ファイルのチャンクを個別に再試行できます
- セルラークライアントの場合など、ネットワーク状況の変化に合わせてチャンクのサイズを調整できます
リクエスト¶
リクエストはmultipart/form-data
POST形式である必要があります。
注: このエンドポイントのドメインは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.