笔者在实际的开发工作中,对于微信公众平台的开发有了些许的体会,对于微信公众平台的接口调用方法以及相应的一些信息组织有了些许认知。
现总结如下:微信公众平台相应接口的调用主要分为get方法和post方法。同时涉及到下载相关的多媒体文件,以及信息格式(XML)的组织。
方法一:接口调用的get方法
function curl_get($url){ //初始化 $ch = curl_init(); //设置参数 //在局域网内访问https站点时需要设置以下两项! //此两项正式上线时需要更改(不检查和验证认证) curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0); curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); //采集 $output = curl_exec($ch); if(curl_errno($ch)){ dump(curl_error($ch)); } //关闭 curl_close($ch); $res = json_decode($output); return($res); }
方法二:接口调用的post方法
function curl_post($url,$Data){ //初始化 $ch = curl_init(); //设置参数 //在局域网内访问https站点时需要设置以下两项! //此两项正式上线时需要更改(不检查和验证认证) curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0); curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt ( $ch, CURLOPT_POST, 1 ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $Data); curl_setopt ( $ch, CURLOPT_HEADER, 0 ); //采集 $output = curl_exec($ch); if(curl_errno($ch)){ dump(curl_error($ch)); } //关闭 curl_close($ch); $res = json_decode($output); return($res); }
方法三:下载多媒体文件
function downloadWeixinFile($url){ //初始化 $ch = curl_init(); //设置参数 //在局域网内访问https站点时需要设置以下两项! //此两项正式上线时需要更改(不检查和验证认证) curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0); curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch,CURLOPT_NOBODY,0); //只取body头 //采集 $output = curl_exec($ch); $httpinfo = curl_getinfo($ch); if(curl_errno($ch)){ dump(curl_error($ch)); } //关闭 curl_close($ch); return array_merge(array('body'=>$output),array('header'=>$httpinfo)); }
以上三种方法均用了php中的cURL扩展,可以方便的发送get或post请求,同时也可以获取相关多媒体文件。相信你从中也可以看到利用php进行微信公众平台的开发是十分简单的,希望以上方法对正在研究微信公众平台开发的你有所帮助。
同时以上get方法和post方法对于调用其他各种API接口同样适用,所以可以大胆使用了,enjoy!
微信公众平台中传输的信息格式分为json和XML两种,一般微信服务器返回的接口调用数据为json,相应的发送数据格式为XML,所以对于XML信息的组织,是与关注者进行交互的基础。在微信公众平台的开发过程中,对于XML信息的组织基本按照开发者文档的格式进行组织即可,利用php中的sprint()函数将相关信息组织起来,输出发送给相关用户即可。
希望与大家多多交流!