前期工作
调用微信公众号接口前,请先熟悉微信公众平台开发的前期准备工作与接口调用模式,具体详情请参考:
https://mp.weixin.qq.com/wiki
当用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构。当服务器收到来自公众号的事件推送时,对该消息进行响应。严格来说,发送被动响应消息其实并不是一种接口,而是对微信服务器发过来消息的一次回复。
1、微信接口检查签名
服务器每次收到微信服务器的事件推送时,都需要对本次请求做签名检查,以确保本次请求是由微信服务器发起的。
调用方法
weixin::check_signature()
相关参数
无
调用实例
weixin::check_signature();
2、获取推送消息
调用方法
weixin::get_msg()
相关参数
无
调用实例
$msg = weixin::get_msg();
返回结果
开发者微信号:$msg['ToUserName']
发送方 OpenID:$msg['FromUserName']
消息创建时间:$msg['CreateTime']
消息类型:$msg['MsgType']
文本消息内容:$msg['Content']
消息ID:$msg['MsgId']
3、被动回复文本消息
调用方法
weixin::send_text()
相关参数
共1个必要参数,具体如下:
1、要发送的文本内容
调用实例
$msg = weixin::get_msg(); if($msg['MsgType'] == 'text'){ weixin::send_text($msg['Content']); }
4、被动回复图文消息
调用方法
weixin::send_image()
相关参数
共1个必要参数,具体如下:
1、一个二维数组,要发送的图片数据:array( array('标题','内容简介','图片地址','链接地址'), ... )
调用实例
$msg = weixin::get_msg(); if($msg['MsgType'] == 'text'){ weixin::send_text($msg['Content']); }
调用实例
1、回复单图文消息
$msg = weixin::get_msg(); $title = '《王国之心3》有望登录Switch,欧洲eShop新折扣,暗黑三33%off'; $desc = '业界新闻1,欧洲将开启“一起玩”促销大活动,保函《暗黑破坏神Ⅲ》哦!'; weixin::send_image(array( array($title,$desc,'http://www.mlecms.com/inc/image/demo.jpg','http://www.mlecms.com') ));
2、回复多图文消息
$msg = weixin::get_msg(); $title1 = '本周36宽游戏发售,总有一款适合你!'; $title2 = '即将发售优作预告一览!'; weixin::send_image(array( array($title1,'','http://www.mlecms.com/inc/image/demo.jpg','http://www.mlecms.com'), array($title2,'','http://www.mlecms.com/inc/image/demo.jpg','http://www.mlecms.com'), ));
5、被动回复语音消息
调用方法
weixin::send_voice()
相关参数
共1个必要参数,具体如下:
1、通过上传多媒体文件,得到的id
调用实例
此处通过weixin::get_wx_material_list()方法获得语音素材,并将第一条语音的素材id传给weixin::send_voice()方法
$msg = weixin::get_msg(); $weixin_material = weixin::get_wx_material_list('voice'); weixin::send_voice($weixin_material[0]['thumb_media_id']);
6、被动回复音乐消息
调用方法
weixin::send_music()
相关参数
共3个必要参数,具体如下:
1、音乐标题
2、音乐简介
3、要发送的音乐地址,高质量和普通音乐均采用该地址,暂不区分
调用实例
$msg = weixin::get_msg(); $title = '有心人'; $desc = '《有心人》是由林夕作词,张国荣作曲并演唱的一首歌曲。收录于张国荣1996年9月30日发行的专辑《Love With All My Heart》中'; weixin::send_music($title,$desc,'http://www.mlecms.com/demo.mp3');
7、被动回复本地素材库中的素材
调用方法
weixin::send_material()
相关参数
共1个必要参数,具体如下:
1、本地素材id
调用实例
$msg = weixin::get_msg(); weixin::send_material(2);