在上一讲的主要讲解了上传临时素材(传送门:《微信公众平台开发【素材管理】上传临时素材》),下面就讲讲如何获取此临时素材。此处的获取临时素材指公众号能够使用素材管理接口下载临时的多媒体文件,下面如下载图片为例。php
接口开放权限:素材管理接口对全部认证的订阅号和服务号开放json
调用格式及参数说明
http请求方式:GET,https调用(请注意,视频文件不支持https下载,调用该接口需http协议)api
请求格式:https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID浏览器
参数说明:服务器
参数是否必须说明
access_token是 调用接口凭证
media_id 是 媒体文件ID
基于SAE实现的源代码
本教程使用的是SAE服务器,因为SAE不能实现本地文件上传和下载,而须要经过Storage来实现,全部代码中会使用一些SAE官方给出的相关函数。微信
saeImage.phpapp
/**
* 做者:smalle
* 网址:http://blog.csdn.net/oldinaction
* 微信公众号:smallelife
*/
define(“AppID”,”你的AppID”);
define(“AppSecret”, “你的AppSecret”);
$media_id = ‘1wrAlWQg02Wc2-z5imqt9K4wzyrugukmMQFCh0tXmixRWKCOIe3Gh9YQa7WjJpeB’;//上一讲中上传临时素材后返回的media_id
$domain = ‘smalle’;//SAE的Storage domain名称
$filename = ‘newSmallelife.jpg’;//设置保存在domain中的文件名
$ch = curl_init(‘https://api.weixin.qq.com/cgi-bin/media/get?access_token=’.get_token().’&media_id=’.$media_id) ;
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; //curl_exec执行成功则返回执行结果
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ; //在启用CURLOPT_RETURNTRANSFER的时候,返回原生的(Raw