Video/api

跳转到: 导航, 搜索
第6行: 第6行:
 
微博提供视频分片上传服务,支持断点续传,主要包含如下两个步骤:
 
微博提供视频分片上传服务,支持断点续传,主要包含如下两个步骤:
  
[https://api.weibo.com/2/proxy/media/init    media/init    初始化获取视频分片大小]
+
[https://upload.api.weibo.com/2/proxy/media/init    media/init    初始化获取视频分片大小]
  
[https://api.weibo.com/2/proxy/media/upload  media/upload  开始分片上传]
+
[https://upload.api.weibo.com/2/proxy/media/upload  media/upload  开始分片上传]
  
  
第21行: 第21行:
  
 
==视频上传初始化==
 
==视频上传初始化==
URL : https://api.weibo.com/2/proxy/media/init [GET]
+
URL : https://upload.api.weibo.com/2/proxy/media/init [GET]
  
 
说明:视频上传初始化,获取视频上传ID和分片大小
 
说明:视频上传初始化,获取视频上传ID和分片大小
第67行: 第67行:
  
 
==视频文件分片上传==
 
==视频文件分片上传==
URL : https://api.weibo.com/2/proxy/media/upload [GET/POST]
+
URL : https://upload.api.weibo.com/2/proxy/media/upload [GET/POST]
  
 
说明:视频分片上传
 
说明:视频分片上传

2016年6月8日 (三) 12:55的版本

目录

视频上传服务OPEN API

视频上传接口授权机制

目前微博开放平台用户身份鉴权采用的是Oauth2.0,参见如何登录授权

视频上传基本流程

微博提供视频分片上传服务,支持断点续传,主要包含如下两个步骤:

media/init 初始化获取视频分片大小

media/upload 开始分片上传


视频大小和时长限制:

最大1G,时长15分钟


视频格式限制:

mp4,avi,wmv,mpeg,mpg,3gp,ts,flv,mov

视频上传初始化

URL : https://upload.api.weibo.com/2/proxy/media/init [GET]

说明:视频上传初始化,获取视频上传ID和分片大小

参数:

参数字段 字段必选 字段类型 字段说明
access_token true string 采用OAuth授权方式为必填参数,OAuth授权后获得
name true string 视频名称,必须带视频文件后缀
check true string 整个视频文件的md5
length true string 视频文件大小,单位字节
uid true string 微博用户uid
text false string 微博文本内容,必须做URLencode,内容不超过130个汉字,默认空时不发微博
visible false string 微博属性,0:公开发布,1:仅自己可见
cu false string 第三方可提供回调接口,用于视频上传转码之后通知视频播放地址,默认空
ua false string 用户ua属性

返回:

参数字段 字段必选 字段说明
res string 成功或失败,true或false
uploadId string 视频上传ID
length string 视频分片大小,单位字节

示例:

{
  res : true
  uploadId : 1425623419.093.de1f9ded7911efac25c137bccf1a4019.r11
  length : 256000
}

视频文件分片上传

URL : https://upload.api.weibo.com/2/proxy/media/upload [GET/POST]

说明:视频分片上传

参数:

参数字段 字段必选 字段类型 字段说明
access_token true string 采用OAuth授权方式为必填参数,OAuth授权后获得
uploadId true string 视频上传ID
partNumber true int 视频分片编号,从0开始
sliceCheck true string 视频分片的md5
content true string 视频分片数据,放在postfield中

返回:

参数字段 字段必选 字段说明
res string 成功或失败,true或false
partNumber string 视频分片编号,从0开始
fid string 视频对象ID,最后一个分片上传成功之后才返回

示例:

{
  res : true
  partNumber : 1
  fid : 1034:7588a824bf75c8c1dc263450dc324c2b (最后一个分片上传成功后才返回)
}

PHP Client SDK

视频上传初始化

//请求相关参数
$init_querys = array(
	//'source' => $source,
	'name' => $file_name,
	'check' => $content_md5,	//完整文件md5
	'length' => $file_size,
	'uid' => $uid,
	'text' => rawurlencode($text),
	'access_token' => "***", 	//oauth授权后获取
);
$headers = array();
//调用初始化接口
$init_res = curl_get($init_uri, $init_querys, $headers);
$init_decode = json_decode($init_res, true);
echo $init_decode['uploadId'] . "\n";

视频分片上传

for($part_no = 0;$part_no < $slice_count;$part_no++) {
	//循环分片上传,分片编号从0开始
	$upload_querys = array(
			'source' => $source,
			'partNumber' => $part_no,
			'uploadId' => $upload_id,
			'sliceCheck' => $slice_md5,	//分片md5
			'access_token' => "***",
		);
		$slice_res = curl_post($upload_uri, $upload_querys, $headers, $slice_content);
		
		var_dump($slice_res);
		$info_dec = json_decode($slice_res, true);
		if($info_dec['ret'] == "false") {
			//分片失败重传
		}
} 

错误代码

错误码

错误码 错误msg 描述
001 Appkey missing appkey参数缺失
002 Invalid appkey appkey无效
003 Param missing param参数缺失
004 Slice content missing 分片内容缺失
005 Invalid uploadId uploadId无效
006 Donot support chunked 分片异常
007 uploadId missing uploadId缺失
008 This uploadId has expired uploadId过期
009 Internal error 网络异常
010 Unsupport this file type 文件格式不支持
011 Please check client locale settings 本地设置异常
012 Slice check md5 does not match 分片内容异常