【微信公众平台开发】接收信息,并分析信息类型进行响应(三)
2014-02-12 09:54
344 查看
1.根据微信公众平台文档,知道接收普通消息类型如下:
1 文本消息
2 图片消息
3 语音消息
4 视频消息
5 地理位置消息
6 链接消息
2.根据文档,微信服务器发送过来的消息都是xml格式的信息,所以可以从xml得到自己想要的信息。
废话不多说,看代码分析。
注:根据上一篇,打包代码,格式为zip。上传到sae;接着开始测试!
3.大概思路:用户发送信息,微信服务器响应,并发送规定的xml格式数据到我们写的index.php,index.php进行响应处理,根据微信公众平台文档进行xml数据分析处理,并按要求返回xml格式数据到微信服务器;微信服务器做出响应解析,然后发送最终数据到用户微信!
1 文本消息
2 图片消息
3 语音消息
4 视频消息
5 地理位置消息
6 链接消息
2.根据文档,微信服务器发送过来的消息都是xml格式的信息,所以可以从xml得到自己想要的信息。
废话不多说,看代码分析。
<?php public function ResponseMsg() { $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //获取从微信服务器发送过来的信息 if (!empty($postStr)){ //simplexml_load_string() 函数把 XML 字符串载入对象中。然后从对象中得到相应数据 $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $keyword = trim($postObj->Content); $msgType = $postObj->MsgType; $time = time(); $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>"; $replyMsg = ""; if($msgType == "text") { $replyMsg = "您发的是文本信息"; } else if($msgType == "image") { $replyMsg = "您发的是图片信息"; } else if($msgType == "location") { $replyMsg = "您发的是地理位置信息"; } else if($msgType == "event") { $eventType = $postObj->Event; if($eventType == "subscribe") { $replyMsg = "欢迎你订阅"; } else if($eventType == "CLICK") { $replyMsg = "自定义菜单事件"; } } $msgType = "text"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType,$replyMsg); //根据文档要求,组成xml格式 echo $resultStr; //输出,微信服务器接收响应 }else{ echo ""; exit; } } ResponseMsg(); ?>
注:根据上一篇,打包代码,格式为zip。上传到sae;接着开始测试!
3.大概思路:用户发送信息,微信服务器响应,并发送规定的xml格式数据到我们写的index.php,index.php进行响应处理,根据微信公众平台文档进行xml数据分析处理,并按要求返回xml格式数据到微信服务器;微信服务器做出响应解析,然后发送最终数据到用户微信!
相关文章推荐
- 【微信公众平台开发】接收信息,并分析信息类型进行响应(三)
- PHP-微信公众平台开发-接收用户输入消息类型并响应
- PHP-微信公众平台开发-接收用户输入消息类型并响应
- iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
- PHP-微信公众平台开发-接收用户输入消息类型并响应
- (转)微信公众平台开发02-接收信息及回复信息
- 微信公众平台开发02-接收信息及回复信息
- 使用Java开发微信公众平台(二)——消息的接收与响应
- 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。 写出问题定义并分析系统的可行性。
- 微信公共平台开发接收与发送信息类型
- 微信公众平台开发【二】 消息的接收和响应
- 微信公共平台开发接收与发送信息类型
- 2.为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。 请写出问题定义并分析此系统的可行性。
- 2-2 为方便储户,某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,系统计算利息并印出利息清单给储户。请写出问题定义并分析此系统的可行性。
- php关于接收post过来的xml信息以及给出响应(response)
- 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息
- 微信公众平台开发(76) 获取用户基本信息
- 微信公众平台开发(71) 网页授权获取用户基本信息
- iOS多线程与网络开发之发送接收服务器信息
- 微信开发之获取OAuth2.0网页授权认证和获取用户信息进行关联