当前位置:Gxlcms > PHP教程 > PHP实现微信公众号企业号自定义菜单接口示例

PHP实现微信公众号企业号自定义菜单接口示例

时间:2021-07-01 10:21:17 帮助过:31人阅读

本文实例讲述了PHP实现微信公众号企业号自定义菜单接口。分享给大家供大家参考,具体如下:

  1. define(AppId, "wx666cae44xxxxxx2");//定义AppId,需要在微信公众平台申请自定义菜单后会得到
  2. define(AppSecret, "d77026a714d443a01d0229xxxxxxxx");//定义AppSecret,需要在微信公众平台申请自定义菜单后会得到
  3. include("menu.php");//引入微信类
  4. $wechatObj = new Wechat();//实例化微信类
  5. $creatMenu = $wechatObj->creatMenu();//创建菜单

微信类(menu.php)代码

  1. <?
  2. class Wechat
  3. {
  4. private function getAccessToken() //获取access_token
  5. {
  6. $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".AppId."&secret=".AppSecret;
  7. $data = getCurl($url);//通过自定义函数getCurl得到https的内容
  8. $resultArr = json_decode($data, true);//转为数组
  9. return $resultArr["access_token"];//获取access_token
  10. }
  11. public function creatMenu()//创建菜单
  12. {
  13. $accessToken = $this->getAccessToken();//获取access_token
  14. $menuPostString = '{//构造POST给微信服务器的菜单结构体
  15. "button":[
  16. {
  17. "name":"产品介绍",
  18. "sub_button":[
  19. {
  20. "type":"view",
  21. "name":"分销A型",
  22. "url":"http://www.yourwebname.com/fenxiao/jianjie/soft.html"
  23. },
  24. {
  25. "type":"view",
  26. "name":"分销B型",
  27. "url":"http://www.yourwebname.com/fenxiaob/jianjie/soft.html"
  28. },{
  29. "type":"view",
  30. "name":"地接批发",
  31. "url":"http://www.yourwebname.com/dijie/jianjie/soft.html"
  32. },{
  33. "type":"view",
  34. "name":"精简组团",
  35. "url":"http://www.yourwebname.com/zutuan/jianjie/soft.html"
  36. },{
  37. "type":"view",
  38. "name":"直客网站",
  39. "url":"http://www.yourwebname.com/tripal/jianjie/soft.html"
  40. }]
  41. },
  42. {
  43. "name":"申请试用",
  44. "sub_button":[
  45. {
  46. "type":"click",
  47. "name":"分销A型",
  48. "key":"fxa"
  49. },
  50. {
  51. "type":"click",
  52. "name":"分销B型",
  53. "key":"fxb"
  54. },
  55. {
  56. "type":"click",
  57. "name":"地接批发",
  58. "key":"dj"
  59. },
  60. {
  61. "type":"click",
  62. "name":"精简组团",
  63. "key":"zutuan"
  64. },
  65. {
  66. "type":"click",
  67. "name":"直客网站",
  68. "key":"zhike"
  69. }
  70. ]
  71. },
  72. {
  73. "name":"博纵在线",
  74. "sub_button":[
  75. {
  76. "type":"view",
  77. "name":"企业介绍",
  78. "url":"http://www.yourwebname.com/about.html"
  79. },
  80. {
  81. "type":"view",
  82. "name":"公司新闻",
  83. "url":"http://www.yourwebname.com/news/company/"
  84. },
  85. {
  86. "type":"view",
  87. "name":"联系我们",
  88. "url":"http://www.yourwebname.com/contact.html"
  89. }
  90. ]
  91. }
  92. ]
  93. }';
  94. $menuPostUrl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$accessToken;//POST的url
  95. $menu = dataPost($menuPostString, $menuPostUrl);//将菜单结构体POST给微信服务器
  96. }
  97. }
  98. function getCurl($url){//get https的内容
  99. $ch = curl_init();
  100. curl_setopt($ch, CURLOPT_URL,$url);
  101. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//不
输出内容 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $result = curl_exec($ch); curl_close ($ch); return $result; } function dataPost($post_string, $url) {//POST方式提交数据 $context = array ('http' => array ('method' => "POST", 'header' => "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) \r\n Accept: */*", 'content' => $post_string ) ); $stream_context = stream_context_create ( $context ); $data = file_get_contents ( $url, FALSE, $stream_context ); return $data; } ?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《PHP编码与转码操作技巧汇总》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《PHP中json格式数据操作技巧汇总》及《PHP针对XML文件操作技巧总结》

希望本文所述对大家PHP程序设计有所帮助。

人气教程排行