POST media/upload (APPEND)

概述

APPEND(附加)命令用于上传媒体文件的分块(连续字节范围)。例如,一个 3 MB 的文件可以分成 3 个大小为 1 MB 的分块,并使用 3 个 APPEND 命令请求进行上传。整个文件上传后,下一步就是调用完成命令

小分块上传媒体文件有很多好处:

  • 在低带宽网络条件下,提高可靠性和成功率
  • 上传可以暂停和恢复
  • 文件分块可以单独重试
  • 能够调整分块大小,以适应不断变化的网络条件,如手机客户端上

请求

请求应该是 multipart/form-data POST 格式。

注意: 此端点的域为 upload.twitter.com

响应

成功的响应返回 HTTP 2xx。

资源 URL

https://upload.twitter.com/1.1/media/upload.json

资源信息

响应格式 JSON
是否需要认证? 是(仅限用户情景)
是否存在速率限制?

参数

名称 必填 说明 默认值 示例
command 必填 必须设置为 APPEND(区分大小写)。
media_id 必填 media_id 已从 INIT 命令返回。
media 必填 正在上传的原始二进制文件内容。必须小于等于 5MB,并且不能与 media_data 一起使用。
media_data 必填 base64 编码的媒体文件分块。必须小于等于 5MB,并且不能与 media 一起使用。尽可能使用原始二进制(媒体参数)。
segment_index 必填 文件分块的有序索引。必须包含在 0-999 之间。首个分段的索引为 0,第二个分段的索引为 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.