有两个文件,一个response.php是用来响应消息的。

另一个是初始页面Sample.php。问题在于,我菜单创建出来了,但是点击之后没有出现我response里面的消息回发,不知道为什么。

responseMsg();$res = file_get_contents($token_access_url);$arr_result = json_decode($res,true);define("ACCESS_TOKEN",$arr_result['access_token']);$make_menu_url = "https://qyapi.weixin.qq.com/cgi-bin/menu/get?access_token=".ACCESS_TOKEN."&agentid=2";$menudata = '{"button":[{ "type":"click", "name":"今日歌曲", "key":"V1001_TODAY_MUSIC" },{ "type":"click", "name":"歌手简介", "key":"V1001_TODAY_SINGER" },{ "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" }] }] }'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $make_menu_url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,FALSE); curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (compatible; MSIE 5.01;Windows NT 5.0)'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch, CURLOPT_AUTOREFERER,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $menudata); curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); $info = curl_exec($ch); if(curl_errno($ch)){ echo 'Errno'.curl_error($ch); } curl_close($ch); print_r($info);?>

checkSignature()){ echo $echoStr; exit; } } public function responseMsg() {//get post data, May be due to the different environments$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; $sendmsg = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=".ACCESS_TOKEN; //extract post data$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $MsgType = $postObj->MsgType; $MsgId = $postObj->MsgId; $Event = $postObj->Event; $EventKey = $postObj->EventKey; $CreateTime = intval($postObj->CreateTime); $formTime = date("Y-m-d H:i:s",$CreateTime); $agentid = $postObj->AgentID; $msg = "开发者id:".$toUsername."\n"; $msg .= "用户id:".$fromUsername."\n"; $msg .= "事件消息id:".$MsgId."\n"; $msg .= "事件消息类型id:".$MsgType."\n"; $msg .= "事件类型:".$Event."\n"; $msg .= "事件KEY值,与自定义菜单接口中KEY值对应:".$EventKey."\n"; $msg .= "事件发送过来的时间戳:".$CreateTime."\n"; $msg .= "消息发生具体时间:".$formTime."\n"; /* $textTpl = "%s"; */ $textTpl = "%s %s"; $contentStr = $msg; $resultStr = sprintf($textTpl,$fromUsername,$toUsername,$formTime,$MsgType,$Event,$EventKey, $agentid); echo $resultStr; }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 ){return true;}else{return false;}}}?>

真是非常郁闷,企业号和服务号还是有点不同的。

回复讨论(解决方案)

菜单项不管怎么点,就是没有回复。除了url类型的会正常跳转网页。

看看 菜单的click时间处理了么, 关键词 key对不对 。。。。php文件有没有 语法 错误什么的

http://www.phpjm.net/encode.html 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

php企业号自定义菜单,用php实现微信企业号自定义菜单遇到问题,请大神指点!...相关推荐

  1. 小程序,开发者微信登录可以发消息,换个微信号就发不了消息,请大神指点

    自己写的小程序,开发者微信登录可以发消息,换个微信号就发不了消息,请大神指点 我用其它的微信号,无法打开"真机调试",所以也不知道问题出在哪里? 1.请问一下,普通的微信号,如何打 ...

  2. 询问一下大神,微信电脑版打开一个文章,页面显示不全,鼠标位置和文字上实际位置不一致,造成想复制文章内容很不方便,已经试过重启电脑、改变屏幕分辨率、重新安装微信的方法,都不能解决,求大神指点。

    这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一 ...

  3. Restsharp获取微信小程序数据,返回错误,提示没权限。手机抓包和操作都有数据,如何破--请大神支招,可私聊

    我的代码: RestClient restClient= new RestClient(BaseUrl);             restClient.Timeout = 5000;         ...

  4. 新书《微信企业号开发揭秘》已出版,全书采用WeChatEnterprise框架开发

            新书<微信企业号开发揭秘>已出版,全书基于源码与API逐步讲解,采用WeChatEnterprise框架开发 纸质书购买地址:  天猫    京东    当当    亚马逊 ...

  5. 咱们的课程里,有微信的这种菜单示例吗?---酷课堂iOS交流群问答整理(201810期)...

    酷课堂iOS交流群 我们是一个什么样的组织: 酷课堂iOS交流群,聚集了一群热爱技术.有趣.有料,平均Q龄在10年以上的"老司机",他们遍布在全国/球各地,有知名企业iOS工程师. ...

  6. 微信企业号开发之 企业号人员身份认证与开发

    前言 这里完全可以链接一个登录页面,让用户输入用户名密码进行登录的...2333 但是,这样所就完全失去了微信企业号的意义,本来进入微信企业号的时候,就已经对人员身份进行认证了,你这里再让别人登录,不 ...

  7. 微信公众号菜单如何链接小程序?

    如何将小程序添加到微信公众号菜单呢?大体分三步: 1.   获取小程序APPID: 2.  公众号关联小程序: 3.  公众号菜单添加小程序: 具体如下: 1.  获取小程序APPID: 1.1.打开 ...

  8. 微信企业号 JS-SDK:上传图片

    微信企业号 JS-SDK:上传图片 微信的JS-SDK提供了微信客户端相关的功能,如:拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微信分享.扫一扫等微信特有的能力,为微信用户提供更优质的网 ...

  9. php 获取企业号用户,微信企业号 获取用户信息(示例代码)

    业务操作最基础的一个功能是获取访客的身份,传统的获取方式是提供一个登录页面用以访客登录. 在微信企业号中,用户在微信中访问页面时,可以根据相关API获取此用户的微信账号信息,以此来匹配业务服务器存储的 ...

最新文章

  1. java程序员遇到的问题_Java 程序员平时最常遇到的故障:系统OOM (一)
  2. @RequestParam加与不加的区别
  3. Tomcat配置虚拟路径访问容器外的硬盘资源
  4. 接口中也可以有方法了
  5. 可以编程的 “骰子” :带 LED、陀螺仪,WiFi!
  6. python 爬虫程序示例,python实现简单爬虫功能的示例
  7. [BZOJ4349]最小树形图
  8. 思科CCNA第一学期期末考试答案
  9. 剑指offer 面试题32 从1到n整数中1出现的次数
  10. 绝缘吹风机行业调研报告 - 市场现状分析与发展前景预测
  11. 力扣-82 删除排序链表中的重复元素 II
  12. [渝粤教育] 西南科技大学 信息法律法规 在线考试复习资料2021版
  13. SqlServer中使用游标进行双重遍历
  14. Rust 从入门到精通12-集合
  15. 机器学习UCI数据库
  16. 汇总|医学图像分析领域论文
  17. ubuntu20.04系统安装u盘制作方法
  18. 将分类图像转换为ERDAS可识别的专题图像(Continuous to Thematic)
  19. android studio和风天气,AndroidSDK——和风天气使用初体验
  20. 基于 HTML5 WebGL 的 3D 水泥工厂生产线

热门文章

  1. 【Docker】Docker操作常用命令
  2. 【计组实验】P4 Verilog多周期处理器微系统 MIPS指令集
  3. linux 丢包排查思路简述(tcp+rdma)
  4. 关于可变字符串StringBuffer和String的区别总结
  5. 计算机excel行高在哪里,如何在Excel2016中设置改行高和列宽?
  6. Effective Java之避免使用受检的异常(五十九)
  7. algorithm头文件函数全集——史上最全,最贴心
  8. 【三万字!】Dubbo、Zookeeper学习笔记!秒杀面试官!——双非上岸阿里巴巴系列
  9. [Leetcode总结] 102.二叉树的层序遍历
  10. linux curl 多线程,CURL多线程不执行一直在请求