6.9.1 上传多媒体文件接口描述

上传多媒体文件的接口地址如下:

  1. http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE

调用该接口需要传递的参数如表6-11所示。

表6-11 上传多媒体文件接口所需参数

6.9.1 上传多媒体文件接口描述 - 图1

参数access_token和type通过URL传递,而参数media是通过POST/FORM方式传递的,也就是以FORM表单的方式上传多媒体文件。

微信服务器对上传的多媒体文件有大小和格式限制,如表6-12所示。

表6-12 多媒体文件的大小和格式限制

6.9.1 上传多媒体文件接口描述 - 图2

如果上传的媒体文件类型为thumb,上传成功后返回的JSON结果如下:

  1. {"type":"thumb","thumb_media_id":"ebyAP_AXNzOLkbMlq_dHs6eZv7KZbuR18tmH80B
  2. 3LdEaoJtY__FP6AUK-D6qX7_a","created_at":1384230564}

如果上传的是其他类型(图片、语音和视频)的媒体文件,上传成功后返回的JSON结果如下:

  1. {"type":"image","media_id":
  2. "OdHZsuag_O4r0BvtQANvI7gZ7ouvAPoOxrcJq_5q6yAA43KFCO-RqSKVQdHXV7os","created_
  3. 1384230626}

多媒体文件上传成功后返回的参数说明如表6-13所示。

表6-13 上传多媒体文件接口返回的参数说明

6.9.1 上传多媒体文件接口描述 - 图3

得到媒体文件标识后,就能够使用它向用户回复图片、语音、视频等多媒体消息。媒体文件会在微信服务器上保存3天,可以根据created_at判断thumb_media_id或media_id是否有效,如果有效可以重复利用,无须每次发多媒体消息时都上传文件。

多媒体文件上传失败时返回的JSON结果示例(缺少多媒体文件数据)如下:

  1. {"errcode":41005,"errmsg":"media data missing"}