51GIF API说明文档

版本记录

版本号 上线时间 说明
1.0.0 20161108 正式版本文档
1.0.1 20161109 添加“推荐搜索gif标签”接口
1.0.2 20161114 “推荐搜索gif标签”接口添加默认tag数
1.1.0 20161205 添加“联想搜索列表”接口
1.2.0 20161226 添加“热门gif列表”接口
1.2.1 20161229 “热门gif列表”接口增加分页功能
1.2.2 20170106 “热门gif列表”接口返回增加“previewUrl”字段
1.2.3 20170119 “热门gif列表”接口返回增加“stillUrl”字段
1.3.0 20170220 添加“搜索gif结果列表”接口
1.3.1 20170224 “搜索gif结果列表”接口结果添加100页限制
1.4.0 20170301 支持https协议
1.4.1 20170313 “搜索gif结果列表”接口添加pageSize参数
1.4.2 20170329 “搜索gif结果列表”接口修改page参数为可选,默认为1
1.4.3 20170418 “搜索gif结果列表”接口返回结果添加原图宽、高字段
1.5.0 20170510 “搜索gif结果列表”接口返回结果pagination信息,包括page,pageSize,count(总数)
1.5.1 20170531 “搜索gif结果列表”支持mp4格式
1.5.2 20170615 “搜索gif结果列表”支持webp格式
1.6.0 20170705 支持压缩1M或2MGIF功能

一、接口统一说明

1. 接口服务器地址

baseUrl : http://open.51gif.com/api

2. 公共参数

字段 类型 是否必须 描述
timestamp long 当前时间戳 毫秒数
appKey String 通过申请所获得的appKey

3. 错误编码

error_code error_reason 错误原因
10000 app_key_not_found 参数里面不包含appKey
10010 args_encrypt_fail 参数加密失败
10020 app_key_not_exists appKey不存在
10030 api_args_failed Api参数错误
20000 api_interface_exception api接口出现异常
20010 api_system_error Api系统后台异常
30000 instream_change_fail 流转化失败
30010 io_exception IO异常
30020 network_request_fail 网络请求错误
30030 http_protocol_exception http连接池异常
30040 url_error Url错误
40000 page_out_limit 超过页数限制,目前支持100页的数据
40010 result_total_out_limit 超过总数限制,最大限制10000条

4. 签名认证

为了确保每次接口请求的真实有效性,我们对每一个 api访问请求都需要做签名认证。

认证公共参数

字段 类型 是否必须 描述
timestamp long 当前时间戳 毫秒数
appSecret String 通过申请所获得的appSecret
url String 接口对应的url

认证方式:

在http请求的header 添加键值对{\"token\":value}

获取value步骤如下(以“推荐搜索gif标签”接口为例):

(1)列出加密所需要参数

				
	Dic={
		"timestamp": timestamp,\
		"url":"/tag/hot",\
		"appSecret": SK,\
		"pageSize": 10\   # 即“推荐搜索gif标签”所有参数,如果请求url没有参数,则不需要此参数,需和请求参数保持一致
	}
				
			

(2)对Dic按字典顺序升序排列

				
	Dic  =  {
		"appSecret": SK,\
		"pageSize": 10\
		"timestamp": timestamp,\
		"url":"/tag/hot",\                                 
	}
				
			

(3)根据升序字典生成需要加密的字符串

				
	Encrypt_para_str=appSecret=123456789&pageSize=10&timestamp=1487664124155&url=/tag/hot
				
			

(4)对Encrypt_para_str进行md5加密

				
	md5_encrypt = bb23a72caadbc39dee93ce78c8a3387c
				
			

(5)结果:

				
	需要在http 请求的header里添加的键值对为
	{\"token\":bb23a72caadbc39dee93ce78c8a3387c }
				
			

二、接口

传参形式:

将所有的参数存储进map,然后转化为json传,以?data=jsonStr的方式进行传递(jsonStr要进行编码)

例:http://open.51gif.com/api/tag/hot?data=%7B%22appKey%22%3A%20%22123456789%22%2C%20%22timestamp%22%3A%201487663316328%2C%20%22pageSize%22%3A%2010%7D

1. 推荐搜索gif标签

url

/tag/hot

请求方式

get

参数

字段 类型 是否必须 描述
pageSize long 需要标签数量,默认为10

返回结果:

				
	{
		"data":["红包","搞气氛","金馆长","牛逼","奇葩","霸气","2B青年",
		"搞笑","明星表情包"],
		"error_code":"00000"
	}
				
			

2. 联想搜索列表

url

/tag/similar

请求方式

get

参数

字段 类型 是否必须 描述
Tag string 源标签

返回结果:

				
	{
		"data":["你好","你","你他妈的","你的","你们","你疯了","你是什么
		意思","你开心就好","你是猪吧","你是"],
		"error_code":"00000"
	}
				
			

3. 热门gif列表

url

/gif/hot

请求方式

get

参数

字段 类型 是否必须 描述
page long 获取第几页的gif列表,从1开始,默认是1
pageSize long 每页gif条数,默认是30条
type String 获取某种类型的gif,用","隔开,可选参数video(视频地址),webp(webp地址),1m(1m图地址),2m(2M图地址)

返回结果:

				
	{
		"data":[
			{
			"stillUrl":"http://gifs.51gif.com/20170208/still/7938950_s.gif",  //首帧图片
			"ratio":"1.38",  // gif比率
			"gifUrl":"http://gifs.51gif.com/20170208/7938950.gif",  //gif地址
			"gifId":7938950, 
			"previewUrl":
			http://gifs.51gif.com/20170208/preview/7938950_p.gif, //预览gif地址
			"m1Url":"http://gifs.51gif.com/20170208/1m/7938950.gif",//1M图地址
			"m2Url":":"http://gifs.51gif.com/20170208/2m/7938950.gif",//2M图地址
			"webpUrl":"http://gifs.51gif.com/20170208/webp/7938950.webp",//gif的webp地址
			"videoUrl":"http://gifs.51gif.com/20170208/video/7938950.mp4",//视频地址
			},... ...
		],
		"error_code":"00000",
		"count":10000,//总条数
		"page":1,//当前页数
		"pageSize":30//每页大小
	}
				
			

4. 搜索gif结果列表

url

/gif/list

请求方式

get

参数

字段 类型 是否必须 描述
tag string 搜索的标签
page long 获取第几页的gif列表,从1开始
pageSize long 每页gif条数,默认是30条
type String 获取某种类型的gif,用","隔开,可选参数video(视频地址),webp(webp地址),1m(1m图地址),2m(2M图地址)

返回结果:

				
	{
		"data":[
			{
			"stillUrl":"http://gifs.51gif.com/20170208/still/7938950_s.gif",  //首帧图片
			"ratio":"1.38",  // gif比率
			"gifUrl":"http://gifs.51gif.com/20170208/7938950.gif",  //gif地址
			"gifId":7938950, 
			"previewUrl":
			http://gifs.51gif.com/20170208/preview/7938950_p.gif, //预览gif地址
			"m1Url":"http://gifs.51gif.com/20170208/1m/7938950.gif",//1M图地址
			"m2Url":":"http://gifs.51gif.com/20170208/2m/7938950.gif",//2M图地址
			"webpUrl":"http://gifs.51gif.com/20170208/webp/7938950.webp",//gif的webp地址
			"videoUrl":"http://gifs.51gif.com/20170208/video/7938950.mp4",//视频地址
			},... ...
		],
		"error_code":"00000",
		"count":10000,//总条数
		"page":1,//当前页数
		"pageSize":30//每页大小
	}