微信公众号开发教程[004]-消息管理-回复消息

       微信公众号可以向粉丝回复的消息分为:文本消息,图片消息,语音消息,视频消息,音乐消息,图文消息.各消息xml结构详见官方文档.

 

<?php
//文件名: http://szuzsq.tunnel.qydev.com/weixin/index.php

$wechatObj = new wechatCallbackapiTest();
$wechatObj->responseMsg();

class wechatCallbackapiTest {
	public function responseMsg() {
		//注:微信官方demo是使用$GLOBALS,而我使用的是file_get_contents的形式,来获取转发过来的xml内容.具体php配置不同,应采用不同的形式,请大家注意下,不然后可能粉丝收不到你的公众号回复的消息.
		//$str = $GLOBALS["HTTP_RAW_POST_DATA"];
		$str = file_get_contents("php://input");
		if(!isset($str) || empty($str))
			exit("");

		libxml_disable_entity_loader(true);
		$xml = simplexml_load_string($str, 'SimpleXMLElement', LIBXML_NOCDATA);

		switch($xml->Content) {
			case "1": {
					$rs = "<xml>";
					$rs .= "<ToUserName><![CDATA[oIaodvwZe03Amjb8_jQ0ZHGmr-4w]]></ToUserName>";
					$rs .= "<FromUserName><![CDATA[gh_733c42e0aee9]]></FromUserName>";
					$rs .= "<CreateTime>1468221313</CreateTime>";
					$rs .= "<MsgType><![CDATA[text]]></MsgType>";
					$rs .= "<Content><![CDATA[爸比,I miss you!]]></Content>";
					$rs .= "</xml>";
					echo $rs;
					break;
				}
			case "2": {
					$rs = "<xml>";
					$rs .= "<ToUserName><![CDATA[oIaodvwZe03Amjb8_jQ0ZHGmr-4w]]></ToUserName>";
					$rs .= "<FromUserName><![CDATA[gh_733c42e0aee9]]></FromUserName>";
					$rs .= "<CreateTime>1468221313</CreateTime>";
					$rs .= "<MsgType><![CDATA[image]]></MsgType>";
					$rs .= "<Image>";
					$rs .= "<MediaId><![CDATA[WGa-K54LXqGX71jU-Sct8RK_f2NEQhTkkj4S69P_yVokR4EmPSmbDy3BRJnmFcLs]]></MediaId>";
					$rs .= "</Image>";
					$rs .= "</xml>";
					echo $rs;
					break;
				}
			case "3": {
					$rs = "<xml>";
					$rs .= "<ToUserName><![CDATA[oIaodvwZe03Amjb8_jQ0ZHGmr-4w]]></ToUserName>";
					$rs .= "<FromUserName><![CDATA[gh_733c42e0aee9]]></FromUserName>";
					$rs .= "<CreateTime>1468221313</CreateTime>";
					$rs .= "<MsgType><![CDATA[voice]]></MsgType>";
					$rs .= "<Voice>";
					$rs .= "<MediaId><![CDATA[TpyxHK_obZIjrW7o5rwAUUuVip67OOPiXrh_YyoxUPV68-Cz6hT815I0tiuTOdH-]]></MediaId>";
					$rs .= "</Voice>";
					$rs .= "</xml>";
					echo $rs;
					break;
				}
			case "4": {
					$rs = "<xml>";
					$rs .= "<ToUserName><![CDATA[oIaodvwZe03Amjb8_jQ0ZHGmr-4w]]></ToUserName>";
					$rs .= "<FromUserName><![CDATA[gh_733c42e0aee9]]></FromUserName>";
					$rs .= "<CreateTime>1468221313</CreateTime>";
					$rs .= "<MsgType><![CDATA[video]]></MsgType>";
					$rs .= "<Video>";
					$rs .= "<MediaId><![CDATA[D2mVNU9Ils8RSCeM43uQWmV37Aq7MR-x_2UxLloerW-yMU3XiQJor6KkH_FbYmtq]]></MediaId>";
					$rs .= "<Title><![CDATA[亲亲我的宝贝]]></Title>";
					$rs .= "<Description><![CDATA[游泳很开心]]></Description>";
					$rs .= "</Video>";
					$rs .= "</xml>";
					echo $rs;
					break;
				}
			case "5": {
					$rs = "<xml>";
					$rs .= "<ToUserName><![CDATA[oIaodvwZe03Amjb8_jQ0ZHGmr-4w]]></ToUserName>";
					$rs .= "<FromUserName><![CDATA[gh_733c42e0aee9]]></FromUserName>";
					$rs .= "<CreateTime>1468221313</CreateTime>";
					$rs .= "<MsgType><![CDATA[music]]></MsgType>";
					$rs .= "<Music>";
					$rs .= "<Title><![CDATA[后来]]></Title>";
					$rs .= "<Description><![CDATA[演唱:刘若英]]></Description>";
					$rs .= "<MusicUrl><![CDATA[http://szuzsq.tunnel.qydev.com/weixin/1.mp3]]></MusicUrl>";
					$rs .= "<HQMusicUrl><![CDATA[http://szuzsq.tunnel.qydev.com/weixin/1.mp3]]></HQMusicUrl>";
					$rs .= "<ThumbMediaId><![CDATA[06092N9ioZxEv3SE-B07zE13qvJQfNypVctofY4T47xHcPHxpYjtF53hUr7qPMG6]]></ThumbMediaId>";
					$rs .= "</Music>";
					$rs .= "</xml>";
					echo $rs;
					break;
				}
			case "6": {
					$rs = "<xml>";
					$rs .= "<ToUserName><![CDATA[oIaodvwZe03Amjb8_jQ0ZHGmr-4w]]></ToUserName>";
					$rs .= "<FromUserName><![CDATA[gh_733c42e0aee9]]></FromUserName>";
					$rs .= "<CreateTime>1468221313</CreateTime>";
					$rs .= "<MsgType><![CDATA[news]]></MsgType>";
					$rs .= "<ArticleCount>1</ArticleCount>";
					$rs .= "<Articles>";
					$rs .= "<item>";
					$rs .= "<Title><![CDATA[山塘街]]></Title>";
					$rs .= "<Description><![CDATA[山塘街东起阊门渡僧桥,西至苏州名胜虎丘山的望山桥,长约七里,所以苏州俗语说“七里山塘到虎丘”...]]></Description>";
					$rs .= "<PicUrl><![CDATA[http://mmsns.qpic.cn/mmsns/Gugib1CGulhxU7GQPb96z8PTwicX5ud6vIibKQQvzMGr140WicC5icVMESA/0]]></PicUrl>";
					$rs .= "<Url><![CDATA[http://mp.weixin.qq.com/mp/appmsg/show?__biz=MjM5NDM0NTEyMg==&appmsgid=10000046&itemidx=1&sign=9e7707d5615907d483df33ee449b378d#wechat_redirect]]></Url>";
					$rs .= "</item>";
					$rs .= "</Articles>";
					$rs .= "</xml>";
					echo $rs;
					break;
				}
		}
	}
}
?>

 

 

效果图如下:

文本消息

 

图片消息

 

语音消息

 

视频消息

 

 

音乐消息

 

图文消息

 

其中,图文消息点击进入后的效果为:

 

        我做了一个小变通,就是接口里面,需要通过素材管理中的接口上传多媒体文件得到的id以及其URL的地方,都是通过我的前一编文章<<微信公众号开发教程[003]-消息管理-接收消息>>,获得,而没有用到素材管理这些接口,读者在自己机子上测试时,记得换成自己的数据.这些id或url分别是:

图片消息

1).MediaId

WGa-K54LXqGX71jU-Sct8RK_f2NEQhTkkj4S69P_yVokR4EmPSmbDy3BRJnmFcLs

取自<<微信公众号开发教程[003]-消息管理-接收消息>>发送的图片消息的返回值.

 

语音消息

1).MediaId

TpyxHK_obZIjrW7o5rwAUUuVip67OOPiXrh_YyoxUPV68-Cz6hT815I0tiuTOdH-

取自<<微信公众号开发教程[003]-消息管理-接收消息>>发送的语音消息的返回值.


视频消息
1).MediaId

D2mVNU9Ils8RSCeM43uQWmV37Aq7MR-x_2UxLloerW-yMU3XiQJor6KkH_FbYmtq

取自<<微信公众号开发教程[003]-消息管理-接收消息>>发送的视频消息的返回值.不过这个接口打死看不到效果,有谁弄好了,请告诉我.

音乐消息
1).MusicUrl

http://szuzsq.tunnel.qydev.com/weixin/1.mp3

自已服务器上放了首歌.
2).HQMusicUrl

http://szuzsq.tunnel.qydev.com/weixin/1.mp3
自已服务器上放了首歌.

3).ThumbMediaId

06092N9ioZxEv3SE-B07zE13qvJQfNypVctofY4T47xHcPHxpYjtF53hUr7qPMG6

取自<<微信公众号开发教程[003]-消息管理-接收消息>>发送的视频消息的返回值(缩略图ID).


图文消息
1).PicUrl

http://mmsns.qpic.cn/mmsns/Gugib1CGulhxU7GQPb96z8PTwicX5ud6vIibKQQvzMGr140WicC5icVMESA/0

取自<<微信公众号开发教程[003]-消息管理-接收消息>>发送的图片消息的返回值(图片链接URL)
2).Url

http://mp.weixin.qq.com/mp/appmsg/show?__biz=MjM5NDM0NTEyMg==&appmsgid=10000046&itemidx=1&sign=9e7707d5615907d483df33ee449b378d#wechat_redirect

直接借鉴David_Tang大大的博文:<<微信公众平台开发(十) 消息回复总结>>
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值