跳转至

素材管理

公众号在发送消息时经常用到一些媒体素材,需要开发者在上传多媒体文件后,通过返回的 media_id 进行发送。

上传多媒体文件

http 请求方式: POST

调用方式:参见 API 调用签名规则,不同点是将放进 http header 中的参数放到 URL 后面,如下:

http://api.ps.ronghub.com/media/upload?type=TYPE&RC-App-Key=xxx&RC-Nonce=adbc134sdf&RC-Timestamp=1234556566&RC-Signature=123421dsfsvc03u4asdflvjdsdfsdf

表单参数:

名称 是否必须 说明
type 媒体文件类型,有图片(image)、语音(voice)、缩略图(thumb)。

上传的多媒体文件以表单文件方式上传,格式和大小限制如下: * 图片(image): 2 M,支持 JPG、PNG 格式。 * 缩略图(thumb) : 20 K,支持JPG、PNG格式。 * 语音(voice):60 k,播放长度不超过 60s,目前支持 AMR 格式。

Java 代码示例:

String urlStr = "http://api.ps.ronghub.com/media/upload?type=image&RC-App-Key=xxx&RC-Nonce=adbc134sdf&RC-Timestamp=1234556566&RC-Signature=123421dsfsvc03u4asdflvjdsdfsdf";

		//
		HttpClient httpclient = new DefaultHttpClient();
		// 请求处理页面
		 HttpPost httppost = new HttpPost(urlStr);

		// 创建待处理的文件
		FileBody file = new FileBody(new File(filepath));

		// 对请求的表单域进行填充
		MultipartEntity reqEntity = new MultipartEntity();
		reqEntity.addPart("file", file);

		// 设置请求
		httppost.setEntity(reqEntity);
		// 执行
		HttpResponse response = httpclient.execute(httppost);

		HttpEntity httpEntity = response.getEntity();
		BufferedReader br = new BufferedReader(new InputStreamReader(httpEntity.getContent(), "UTF-8"));
		StringBuffer backData = new StringBuffer();
		String line = null;
		while ((line = br.readLine()) != null) {
			backData.append(line);
		}
		System.out.println(backData.toString());

返回值

正常示例:

{
  "type":"image",
  "media_id":"12344343252",
  "created_at":123456789
}

错误示例:

{
	"errcode":1003,
	"errmsg":"invalid type "
}

可根据返回错误码,在 API 返回状态码说明 中查看错误明细。

上传图文消息素材

http 请求方式: POST

调用方式:参见 API 调用签名规则,不同点是将放进 http header 中的参数放到 URL 后面,如下:

http://api.ps.ronghub.com/media/uploadnews?RC-App-Key=xxx&RC-Nonce=adbc134sdf&RC-Timestamp=1234556566&RC-Signature=123421dsfsvc03u4asdflvjdsdfsdf

POST 数据示例:

{
  "articles": [
		 {
       "thumb_media_id":"sdflsdfjxcl324324sdfsdlfsd",
       "author":"yyuy",
			  "title":"Happy ",
			  "content_source_url":"www.rongcloud.com",
			  "content":"content",
			  "digest":"digest",
       "show_cover_pic":"1"
		 },
		 {
       "thumb_media_id":" sdflsdfjxcl324324sdfsdlfsdasdfsdf",
       "author":"yy",
			  "title":"Happy",
			  "content_source_url":"www.rongcloud.com",
			  "content":"content",
			  "digest":"digest",
       "show_cover_pic":"0"
		 }
  ]
}

表单参数:

名称 是否必须 说明
articles 图文消息,一个图文消息支持 1 到 10 条图文。
thumb_media_id 图文消息缩略图的 media_id,可以在基础支持-上传多媒体文件接口中获得。
author 图文消息的作者。
title 图文消息的标题。
content_source_url 在图文消息页面点击“阅读原文”后链接的页面。
content 图文消息页面的内容,支持 HTML 标签。
digest 图文消息的描述。
show_cover_pic 是否显示封面,1 为显示,0 为不显示。

返回值

{
  "type":"news",
  "media_id":"CsEf3ldqkAYJAU6EJeIkStVDSvffUJ54vqbThMgplD-VJXXof6ctX5fI6-aYyUiQ",
  "created_at":1391857799
}

表单参数:

名称 说明
type 媒体文件类型, news,即图文消息。
media_id 媒体文件/图文消息上传后获取的唯一标识。
created_at 媒体文件上传时间。