微信获取临时素材接口

使用到的一种情况:

通过微信接口上传图片并获取到自己的服务器。


      首先就是我们需要 用户在公众号上传图片后,该图片要保存在我们自己的数据库里。(比如更换公众号中用户自己的头像)
      所以我们要用到微信JSSDK中的“拍照或选择手机相册照片”、“上传图片接口”以及“获取临时素材接口”。

      1.使用“拍照或选择手机相册照片”、“上传图片接口”,返回serverId(即media_id)。
      2.前端拿到serverId(即media_id)后,将此作为参数去请求后台“获取临时素材接口”

ps:代码没贴,就是个简单的JS代码。

获取临时素材(微信开发文档)

公众号可以使用本接口获取临时素材(即下载临时的多媒体文件)。请注意,视频文件不支持https下载,调用该接口需http协议。本接口即为原“下载多媒体文件”接口。

接口调用请求说明

http请求方式: GET,https调用
https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID
请求示例(示例为通过curl命令获取多媒体文件)
curl -I -G "https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID"

参数说明

参数 是否必须 说明
access_token 调用接口凭证
media_id 媒体文件ID

返回说明

正确情况下的返回HTTP头如下:

HTTP/1.1 200 OK
Connection: close
Content-Type: image/jpeg
Content-disposition: attachment; filename="MEDIA_ID.jpg"
Date: Sun, 06 Jan 2013 10:20:18 GMT
Cache-Control: no-cache, must-revalidate
Content-Length: 339721
curl -G "https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID"

如果返回的是视频消息素材,则内容如下:

{
 "video_url":DOWN_URL
}

错误情况下的返回JSON数据包示例如下(示例为无效媒体ID错误):

{"errcode":40007,"errmsg":"invalid media_id"}

高清语音素材获取接口

这个和普通的有些许变动,不做过多描述。

附录

上面有个提到的curl概念:

curl命令是一个功能强大的网络工具,它能够通过http、ftp等方式下载文件,也能够上传文件,同时支持HTTPS等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息。类似的工具还有wget。curl命令使用了libcurl库来实现,libcurl库常用在C程序中用来处理HTTP请求,curlpp是libcurl的一个C++封装,这几个东西可以用在抓取网页、网络监控等方面的开发,而curl命令可以帮助来解决开发过程中遇到的问题。


你可能感兴趣的:(微信开发)