微信公众号开发者模式恢复开发者模式菜单不回复吗?

在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
在新浪sea平台设置了微信公众号应用,设置关注自动回复功能,接口设置成功,,代码写好,url也修改代码的页面,但是测试后没反应。&?php
//define your tokendefine("TOKEN", "weixin"); $wechatObj = new wechatCallbackapiTest();$wechatObj-&valid(); $wechatObj-&responseMsg();class wechatCallbackapiTest{
public function valid()
$echoStr = $_GET["echostr"];
//valid signature , option
if($this-&checkSignature()){
echo $echoS
public function responseMsg()
//get post data, May be due to the different environments
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
//extract post data
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj-&FromUserN
$toUsername = $postObj-&ToUserN
$keyword = trim($postObj-&Content);
$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&
if(!empty( $keyword ))
$msgType = "text";
$contentStr = "Welcome to wechat world!";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultS
echo "Input something...";
private function checkSignature()
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
这只是验证。看下文档里关于被动回复消息的介绍吧。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
valid方式是用来检测所发消息是否来自微信服务器的,它会输出内容到页面中来,所以会打乱你要回复的XML包只调用responseMsg方法即可
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。没有更多推荐了,
不良信息举报
举报内容:
【已解决】开发模式下,微信公众号自定义菜单显示不全
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!微信公众平台开发者模式自定义菜单如何点了菜单以后自动回复内容,回复菜单响应,求大神_百度知道
微信公众平台开发者模式自定义菜单如何点了菜单以后自动回复内容,回复菜单响应,求大神
我有更好的答案
你好,这位同学,你的公众号是什么类型?订阅号还是服务号?如果是服务号不用再次认证就能够使用自定义菜单,如果是订阅号要再次申请认证后才可使用自定义菜单。自定义菜单设置很方便,设置三个一级菜单后,每个一级菜单下还可以设置四个二级菜单,设置二级菜单的时候注意右侧要选中一条推送的内容才可以生效。设置完自定义菜单先保存再发布。祝你成功!
我的这个是开发者模式啊,不是编辑模式,我要用代码来实现,我已经实现了创建菜单,还玩实现点击菜单的时候自动回复内容
自定义菜单 就是点击菜单自动回复
哇 在楼下溜猫 网速好慢,那么长时间才发出去
对呀,但是我用的是开发者模式,不是编辑模式,需要用代码
你太慷慨了 我都没有帮到你呢
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
微信公众号-开发者-自定义菜单-CLICK事件处理
摘要:想点击菜单,推送消息。功能很简单,坑了我一天时间。在此笔记。菜单代码:{&button&:[{&type&:&click&,&name&:&今日歌曲&,&key&:&V1001_TODAY_MUSIC&},{&name&:&菜单&,&sub_button&:[{&typ
想点击菜单,推送消息。功能很简单,坑了我一天时间。在此笔记。
{ &button&:[ { &type&:&click&, &name&:&今日歌曲&, &key&:&V1001_TODAY_MUSIC& }, { &name&:&菜单&, &sub_button&:[ { &type&:&view&, &name&:&搜索&, &url&:&http://www.soso.com/& }, { &type&:&view&, &name&:&视频&, &url&:&http://v.qq.com/& }, { &type&:&click&, &name&:&赞一下我们&, &key&:&V1001_GOOD& }] }] }
菜单生成好了以后,如何处理“赞一下我们”相应事件呢?
引用方倍工作室的代码修改如下:
php/* 方倍工作室 CopyRight 2014 All Rights Reserved*/define(&TOKEN&, &weixin&);$wechatObj = new wechatCallbackapiTest();if (!isset($_GET['echostr'])) { $wechatObj-&responseMsg();}else{ $wechatObj-&valid();}class wechatCallbackapiTest{ //验证签名 public function valid() { $echoStr = $_GET[&echostr&]; $signature = $_GET[&signature&]; $timestamp = $_GET[&timestamp&]; $nonce = $_GET[&nonce&]; $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr); $tmpStr = implode($tmpArr); $tmpStr = sha1($tmpStr); if($tmpStr == $signature){ echo $echoStr; exit; } $siteURL='http://210.14.148.180/kdjy/'; } public function responseMsg() { $postStr = $GLOBALS[&HTTP_RAW_POST_DATA&]; if (!empty($postStr)){ $this-&logger(&R &.$postStr); $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $RX_TYPE = trim($postObj-&MsgType); $result = &&; switch ($RX_TYPE) { case &event&: $result = $this-&receiveEvent($postObj); break; case &text&: $result = $this-&receiveText($postObj); break; } $this-&logger(&T &.$result); echo $result; }else { echo &&; exit; } } private function receiveEvent($object) { switch ($object-&Event) { case &subscribe&: $content = &欢迎关注方倍工作室 &; //------------------- 赞一下 start ------------------------ case &CLICK&: //这里是大写‘CLICK’ $content = $object-&EventK // 获取key if($content=='V1001_GOOD'){ $content = '谢谢支持!!!'; } //------------------- 赞一下 end ------------------------ break; } $result = $this-&transmitText($object, $content); return $result; } private function receiveText($object) { $keyword = trim($object-&Content); $url = &http://apix.sinaapp.com/weather/?appkey=&.$object-&ToUserName.&&;city=&.urlencode($keyword); $output = file_get_contents($url); $content = json_decode($output, true); $result = $this-&transmitNews($object, $content); return $result; } private function transmitText($object, $content) { if (!isset($content) || empty($content)){ return &&; } $textTpl = &&xml&&ToUserName&&![CDATA[%s]]&&/ToUserName&&FromUserName&&![CDATA[%s]]&&/FromUserName&&CreateTime&%s&/CreateTime&&MsgType&&![CDATA[text]]&&/MsgType&&Content&&![CDATA[%s]]&&/Content&&/xml&&; $result = sprintf($textTpl, $object-&FromUserName, $object-&ToUserName, time(), $content); return $result; } private function transmitNews($object, $newsArray) { if(!is_array($newsArray)){ return &&; } $itemTpl = & &item& &Title&&![CDATA[%s]]&&/Title& &Description&&![CDATA[%s]]&&/Description& &PicUrl&&![CDATA[%s]]&&/PicUrl& &Url&&![CDATA[%s]]&&/Url& &/item&&; $item_str = &&; foreach ($newsArray as $item){ $item_str .= sprintf($itemTpl, $item['Title'], $item['Description'], $item['PicUrl'], $item['Url']); } $newsTpl = &&xml&&ToUserName&&![CDATA[%s]]&&/ToUserName&&FromUserName&&![CDATA[%s]]&&/FromUserName&&CreateTime&%s&/CreateTime&&MsgType&&![CDATA[news]]&&/MsgType&&Content&&![CDATA[]]&&/Content&&ArticleCount&%s&/ArticleCount&&Articles&$item_str&/Articles&&/xml&&; $result = sprintf($newsTpl, $object-&FromUserName, $object-&ToUserName, time(), count($newsArray)); return $result; } private function logger($log_content) { }}?&
加入如下代码,注意CLICK是大写。
微信api:http://mp.weixin.qq.com/wiki/2/5baf56ceb86ae.html#.E7.82.B9.E5.87.BB.E8.8F.9C.E5.8D.95.E6.8B.89.E5.8F.96.E6.B6.88.E6.81.AF.E6.97.B6.E7.9A.84.E4.BA.8B.E4.BB.B6.E6.8E.A8.E9.80.81
PS:为找这个key,找了半天,我是小学生,官方不能写个demo吗?
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
为您提供0门槛上云实践机会
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
微信公众号-开发者-自定义菜单-CLICK事件处理相关信息,包括
的信息,所有微信公众号-开发者-自定义菜单-CLICK事件处理相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
International微信公众平台编辑模式与开发者模式有什么区别-商侣软件
【问题补充】
在中有两种高级模式,分别是编辑模式和开发模式。这两种模式有些什么区别?是很多客户经常问到的问题。
商侣科技就这个疑问,做了系统化的整理,让大家更好的理解他们之间的区别。
一、编辑模式
微信公众平台在开通编辑模式的情况下,可以实现文字,语音,图片,图文消息的自动回复和关键词自动回复。目前服务号和认证的订阅号,也可以开通微信自定义菜单功能。
编辑模式的好处就是简单易用;上手容易,不需要学习代码知识;响应速度快。因为编辑模式不用重新搭建服务器。
编辑模式也有它的缺点,主要有三:
1、文字回复有300字限制,关键字回复上限为200条。
2、扩展功能有限,不能调用网络平台上面的地理位置、API等信息。
3、没有数据库,如果使用者有自己的网站或者会员数据库,无法对接和处理海量的数据库。
二、开发模式
通过微信公众平台开发模式,我们可以实现微信编辑模式几乎所有的功能,同时开发更多高级功能。如果您想在开发模式下实现所有功能,也有一个大前提,您必须进行了微信的高级认证。
开发模式的几大优势:
1、可调用网络API,实现天气、股票、快递、笑话、音乐等信息的查询。
2、对接数据库。对于企业来说,一般都有自己的数据库,编辑模式是不能进行数据库对接的。通过开发模式,可以实现自己网站、论坛上数据库完美对接。
3、可实现在线移动支付。过开发模式的二次开发,可以实现基于手机端的移动支付。
4、用户的回复消息可突破300字限制。
开发模式并没有太大缺点,要必须说缺点的话,就是没那么简单易用,毕竟要用到复杂的功能和接口,对用户会稍微要求懂一点代码知识。
两种模式面向的用户群体不一,您可以根据自身公众号的实际需求来选择使用哪种模式。
声明:文章"微信公众平台编辑模式与开发者模式有什么区别"为商侣原创文章,转载请注明出处,谢谢合作!
相关阅读推荐
随着移动互联网的快速发展,移动社交也开始成为人们生活的一部分,电子商务的快速发展,也使得人们的消费方式获得了极大的转变,而具备移动社交和电...
在注册微信公共号钱,必须清楚的两种微信行号类型:服务号、订阅号。
服务号:给企业和组织提供更强大的业务服务与用户管理能力,帮助企业快速实...
这两年,尤其是2015年,微信公众号开发如火如荼的发展着,不管是电商企业还是线下的传统企业都赶上了微信服务号和公众号开发的热浪。可能很多小...}

我要回帖

更多关于 微信公众号开发者文档 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信