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_giftweet_videoamplify_video),您需要使用分块上传端点

请求

请求应该是 multipart/form-dataapplication/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
  }
}