POST media/upload (FINALIZE)
概要¶
FINALIZE
コマンドは、APPEND
コマンドを使用してメディアファイル全体をアップロードした後で呼び出します。FINALIZE
コマンドの応答がprocessing_info
フィールドを含む場合(に限り)、ツイートの作成に進む前に、STATUSコマンドを使用して成功が返されるのを待機する必要もあります。
リクエスト¶
リクエストはmultipart/form-data
POST形式またはapplication/x-www-form-urlencoded
POST形式である必要があります。
注: このエンドポイントのドメインは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
}
}