POST media/upload
概要¶
このエンドポイントを使用すると、Twitterに画像をアップロードできます。画像を添付可能なTwitterエンドポイントの大半で使用できるmedia_id
を返します。たとえば、media_id
値は、POST statuses/updateエンドポイントを使用して添付写真があるツイートを作成するのに使用できます。
これは単純な画像アップロードエンドポイントであり、一部の機能が制限されています。これに代わり推奨されるのが、画像と動画の両方に対応するチャンク化アップロードエンドポイントです。これを使用すると信頼性が高まり、ファイルアップロードの再開機能やその他の重要な機能を利用できるようになります。将来的に、新機能はチャンク化アップロードエンドポイントにのみ対応する予定です。
メディアファイルに関する制限事項や要件については、「メディアのアップロードガイド」を参照してください。
画像代替テキストの情報を入手するには、メディアのメタデータのエンドポイントを使用してください。
POSTはmultipart/form-data
リクエストである必要があります。ファイルの未処理のバイナリ(media
パラメータ)、またはbase64でエンコードしたコンテンツ(media_data
パラメータ)のいずれかをアップロードします。base64でエンコードするとファイルのサイズが大きくなるため、可能な場合は未処理のバイナリを使用します。
応答では、media_id
(64ビットの整数値)フィールドおよびmedia_id_string
(文字列)フィールドにメディア識別子が返されます。JavaScript、および長い整数値を正確に記述できないその他の言語の場合は、API応答で返されるmedia_id_string
を使用します。
返されたmedia_id
の有効期間はexpires_after_secs
秒間のみです。この時間枠の後に他のエンドポイントでmedia_id
の使用を試みると、HTTP 4xx Bad Requestが発生します。
additional_owners
フィールドでは、メディアをユーザーAとしてアップロードしてから、ユーザーBとしてツイート作成に使用できます。
特定のタイプのデータ(tweet_gif
、tweet_video
、amplify_video
)の場合は、チャンク化アップロードエンドポイントを使用する必要があります。
リクエスト¶
リクエストはmultipart/form-data
POST形式またはapplication/x-www-form-urlencoded
POST形式である必要があります。
注: このエンドポイントのドメインはupload.twitter.comです
リソースURL¶
https://upload.twitter.com/1.1/media/upload.json
リソース情報¶
応答形式 | JSON |
認証の要否 | 要(ユーザーのコンテキストに限る) |
レート制限 | あり |
パラメータ¶
名前 | 要否 | 説明 | デフォルト値 | 例 |
---|---|---|---|---|
media | 必須 | 未処理のバイナリファイルコンテンツがアップロードされています。media_data とは併用できません。 |
||
media_data | 必須 | base64でエンコードしたファイルコンテンツがアップロードされています。media とは併用できません。 |
||
additional_owners | 任意 | 返されたmedia_id をツイートまたはカードで使用できる、追加オーナーとして設定されるユーザーIDのカンマ区切りリストです。最大100の追加オーナーを指定できます。 |
リクエストの例¶
POST https://upload.twitter.com/1.1/media/upload.json
応答の例¶
{
"media_id": 710511363345354753,
"media_id_string": "710511363345354753",
"size": 11065,
"expires_after_secs": 86400,
"image": {
"image_type": "image/jpeg",
"w": 800,
"h": 320
}
}