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/