access_token
access_token是开发者访问其他微信接口的凭证,一个微信公众号,在同一时刻,只能有一个access_token,有效时间两小时
具体的获取方法如下
1
2
3
4
5
| $url = "https://api.weixin.qq.com/cgi-bin/token?"
."grant_type=client_credential&appid=".$appId."&secret=".$appSecret;
$r = Http::httpsGet($url);
$r = json_decode($r, true);
$token = isset($r['access_token']) ? urldecode($r['access_token']) : false; |
其中,httpsGet:
1
2
3
4
5
6
7
8
9
10
11
12
| function httpsGet($url){
$ch = curl_init();
$header[] = "Content-type: text/plain";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$response = curl_exec($ch);
curl_close($ch);
$result = trim(urldecode($response));
return $result;
} |
鉴于access_token的“广泛应用”和诸多限制,我们的做法是为它做了一个redis缓存,每小时刷新一次,所有用到access_token项目都从这个缓存里取
上传多媒体文件
~~其实,俺们的项目里,还没用到过这个功能,但既然做教程,就尽量做的完整些,下面内容只是微信官方文档的整理摘录
上传地址:http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE
type: image/voice/video/thumb(缩略图)
POST字段名:media
(看这格式,还是写个html页面比较合适)
限制:
图片(image): 128K,支持JPG格式
语音(voice):256K,播放长度不超过60s,支持AMR\MP3格式
视频(video):1MB,支持MP4格式
缩略图(thumb):64KB,支持JPG格式
下载多媒体文件
http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID
~~没啥可说的,一目了然
————
转载请注明出处:http://www.jiangkl.com/2014/01/access-token_media/