微信公众号验证token+关注回复+关键字回复+单图文回复
来源:互联网 发布:怎么看淘宝销售排名 编辑:程序博客网 时间:2024/05/24 15:38
1. 首先登陆微信公众号开启开发者模式,配置基本信息
2. 验证token
public function validToken(){ $timestamp = $_GET['timestamp']; $nonce = $_GET['nonce']; $token = 'weixin';//要和上面配置的token令牌一样 $signature = $_GET['signature']; $echostr = $_GET['echostr']; $array = array($timestamp,$nonce,$token); sort($array); $tmpstr = implode('',$array); $tmpstr = sha1($tmpstr); //如果是第一次访问验证token 否则是接受事件是否关注 if ($tmpstr == $signature && $echostr) { echo $echostr; exit; } else { $this->responseMsg(); } }
3. 验证通过之后可以写几种消息回复方式
public function responseMsg(){ //获取微信推送过来的数据(xml格式) $postArr = $GLOBALS["HTTP_RAW_POST_DATA"]; $tmpstr = $postArr; //处理消息,并设置回复类型 $postObj = simplexml_load_string($postArr); //关注回复 if (strtolower($postObj->MsgType) =="event"{ //如果是关注事件 if(strtolower($postObj->Event) == "subscribe"){ //回复用户消息 $toUser = $postObj->FromUserName; $fromUser = $postObj->ToUserName; $time = time(); $msgType = "text"; $content = "欢迎关注我的公众号:\n 我的公众号"."\n\n微信用户的openid:\n".$postObj->FromUserName."\n\n如需关键字测试请输入:\n( 你好 || phone || composer )\n\n图文测试请输入:\n( 单图文 || 多图文 )"; $template = " <xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml> "; $info = sprintf( $template,$toUser,$fromUser,$time,$msgType,$content); echo $info; } } //回复图文消息 if (strtolower($postObj->MsgType) == "text" && trim($postObj->Content == "单图文")){ $toUser = $postObj->FromUserName; $fromUser = $postObj->ToUserName; $array = array( array( "title"=>"微博", "description"=>"微博首页!", "picUrl"=>"url地址", "url"=>"http://weibo.com/", ), ); $template = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <ArticleCount>".count($array)."</ArticleCount> <Articles>"; foreach ($array as $key => $v) { $template .= "<item> <Title><![CDATA[".$v['title']."]]></Title> <Description><![CDATA[".$v['description']."]]></Description> <PicUrl><![CDATA[".$v['picUrl']."]]></PicUrl> <Url><![CDATA[".$v['url']."]]></Url> </item>"; } $template.= "</Articles></xml>"; $time = time(); echo sprintf( $template,$toUser,$fromUser,$time,"news"); }elseif (strtolower($postObj->MsgType) == "text" && trim($postObj->Content == "多图文")) { $toUser = $postObj->FromUserName; $fromUser = $postObj->ToUserName; $array = array( array( "title"=>"腾讯网", "description"=>"腾讯首页!", "picUrl"=>"图片url地址", "url"=>"地址自己填写", ), array( "title"=>"easywechat文档", "description"=>"微信文档!", "picUrl"=>"图片url地址", "url"=>"地址自己填写", ), array( "title"=>"laravel学院", "description"=>"学院君!", "picUrl"=>"图片url地址", "url"=>"地址自己填写", ), ); $template = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <ArticleCount>".count($array)."</ArticleCount> <Articles>"; foreach ($array as $key => $v) { $template .= "<item> <Title><![CDATA[".$v['title']."]]></Title> <Description><![CDATA[".$v['description']."]]></Description> <PicUrl><![CDATA[".$v['picUrl']."]]></PicUrl> <Url><![CDATA[".$v['url']."]]></Url> </item>"; } $template.= "</Articles></xml>"; $time = time(); echo sprintf( $template,$toUser,$fromUser,$time,"news"); }else{ switch ($postObj->Content) { case '你好': $content = "hello 你好!"; break; case 'phone': $content = "我的手机号码:\n12339475"; break; case 'php': $content = "我是php"; break; case 'composer': $content = "<a href='链接地址"; break; } $template = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> </xml>"; $toUser = $postObj->FromUserName; $fromUser = $postObj->ToUserName; $time = time(); $msgType = "text"; echo sprintf( $template,$toUser,$fromUser,$time,$msgType,$content); }}
微信文档地址:https://mp.weixin.qq.com/wiki
如果对你有帮助,记得点赞!
1 0
- 微信公众号验证token+关注回复+关键字回复+单图文回复
- 微信公众号首次关注自动回复图文消息
- 微信订阅号单图文回复
- 微信开发中signature的验证,文本消息回复,单图文消息回复,多图文消息回复
- 微信公众号添加关注后自动回复图文信息
- 微信公众号添加关注后自动回复图文信息(素材)
- 微信公众平台 回复图文
- 微信token验证及回复内容
- 微信图文回复
- 【微信公众号开发】自我学习第三章:消息回复之文本回复和图文回复
- 6.图文回复(微信公众号开发实战)
- 微信公众号开发<关键字匹配回复随机内容>
- php关注微信服务号回复
- 微信关注回复代码
- 微信关注回复消息
- 基于PHP的微信公众平台开发(TOKEN验证,消息回复)
- 微信公众号回复内容
- 微信公众号自定义回复
- Android WebView显示广告
- Hive的操作
- 2017中国虚拟现实教育创新大会暨第二届高校虚拟现实学科建设研讨会
- MySQL修改表结构
- ZOJ2405-Specialized Four-Digit Numbers
- 微信公众号验证token+关注回复+关键字回复+单图文回复
- Spring学习:bean的初始化和销毁及Aware(xml)
- 赛码网-在线编程:翻转数组
- Linux下使用ffmpeg对视频截图
- Codeforces 270A
- c语言之递归调用
- Linux目录结构及文件基本操作
- Android--我的命名规范
- Spring学习:注入方法和bean的Scope(xml)