上传媒体
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.