前期工作
調用微信公眾號接口前,請先熟悉微信公眾平臺開(kāi)發(fā)的前期準備工作與接口調用模式,具體詳情請參考:
https://mp.weixin.qq.com/wiki
當用戶(hù)發(fā)送消息給公眾號時(shí)(或某些特定的用戶(hù)操作引發(fā)的事件推送時(shí)),會(huì )產(chǎn)生一個(gè)POST請求,開(kāi)發(fā)者可以在響應包(Get)中返回特定XML結構。當服務(wù)器收到來(lái)自公眾號的事件推送時(shí),對該消息進(jìn)行響應。嚴格來(lái)說(shuō),發(fā)送被動(dòng)響應消息其實(shí)并不是一種接口,而是對微信服務(wù)器發(fā)過(guò)來(lái)消息的一次回復。
1、微信接口檢查簽名
服務(wù)器每次收到微信服務(wù)器的事件推送時(shí),都需要對本次請求做簽名檢查,以確保本次請求是由微信服務(wù)器發(fā)起的。
調用方法
weixin::check_signature()
相關(guān)參數
無(wú)
調用實(shí)例
weixin::check_signature();
2、獲取推送消息
調用方法
weixin::get_msg()
相關(guān)參數
無(wú)
調用實(shí)例
$msg = weixin::get_msg();
返回結果
開(kāi)發(fā)者微信號:$msg['ToUserName']
發(fā)送方 OpenID:$msg['FromUserName']
消息創(chuàng )建時(shí)間:$msg['CreateTime']
消息類(lèi)型:$msg['MsgType']
文本消息內容:$msg['Content']
消息ID:$msg['MsgId']
3、被動(dòng)回復文本消息
調用方法
weixin::send_text()
相關(guān)參數
共1個(gè)必要參數,具體如下:
1、要發(fā)送的文本內容
調用實(shí)例
$msg = weixin::get_msg(); if($msg['MsgType'] == 'text'){ weixin::send_text($msg['Content']); }
4、被動(dòng)回復圖文消息
調用方法
weixin::send_image()
相關(guān)參數
共1個(gè)必要參數,具體如下:
1、一個(gè)二維數組,要發(fā)送的圖片數據:array( array('標題','內容簡(jiǎn)介','圖片地址','鏈接地址'), ... )
調用實(shí)例
$msg = weixin::get_msg(); if($msg['MsgType'] == 'text'){ weixin::send_text($msg['Content']); }
調用實(shí)例
1、回復單圖文消息
$msg = weixin::get_msg(); $title = '《王國之心3》有望登錄Switch,歐洲eShop新折扣,暗黑三33%off'; $desc = '業(yè)界新聞1,歐洲將開(kāi)啟“一起玩”促銷(xiāo)大活動(dòng),保函《暗黑破壞神Ⅲ》哦!'; 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寬游戲發(fā)售,總有一款適合你!'; $title2 = '即將發(fā)售優(yōu)作預告一覽!'; 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、被動(dòng)回復語(yǔ)音消息
調用方法
weixin::send_voice()
相關(guān)參數
共1個(gè)必要參數,具體如下:
1、通過(guò)上傳多媒體文件,得到的id
調用實(shí)例
此處通過(guò)weixin::get_wx_material_list()方法獲得語(yǔ)音素材,并將第一條語(yǔ)音的素材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、被動(dòng)回復音樂(lè )消息
調用方法
weixin::send_music()
相關(guān)參數
共3個(gè)必要參數,具體如下:
1、音樂(lè )標題
2、音樂(lè )簡(jiǎn)介
3、要發(fā)送的音樂(lè )地址,高質(zhì)量和普通音樂(lè )均采用該地址,暫不區分
調用實(shí)例
$msg = weixin::get_msg(); $title = '有心人'; $desc = '《有心人》是由林夕作詞,張國榮作曲并演唱的一首歌曲。收錄于張國榮1996年9月30日發(fā)行的專(zhuān)輯《Love With All My Heart》中'; weixin::send_music($title,$desc,'http://www.mlecms.com/demo.mp3');
7、被動(dòng)回復本地素材庫中的素材
調用方法
weixin::send_material()
相關(guān)參數
共1個(gè)必要參數,具體如下:
1、本地素材id
調用實(shí)例
$msg = weixin::get_msg(); weixin::send_material(2);