POST media/upload
概述¶
使用此端点上传图像至 Twitter。它返回的 media_id
可以在大多数接受图像的 Twitter 端点中使用。例如,利用 POST statuses/update 端点,media_id
值可用于创建带有附照的推文。
这是一种简单的图像上传端点,功能组合有限。首选方案为分块上传端点,这种端点支持图像和视频,有更好的可靠性,可以恢复文件上传,并且支持其他重要功能。将来,只有分块的上传端点支持新功能。
参阅上传媒体指南,了解有关媒体文件的限制和要求。
使用媒体元数据端点提供图像 alt 文本信息。
确保 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 错误请求。
additional_owners
字段支持以用户 A 的身份上传媒体,然后以用户 B 的身份创建推文。
请注意,对于某些类型的数据(tweet_gif
、tweet_video
和 amplify_video
),您需要使用分块上传端点。
请求¶
请求应该是 multipart/form-data
或 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
}
}