微信公众账号菜单创建方法 PHP版

  最近几天一直在鼓捣微信公众平台的开发者模式,以前只是简单的使用官方提供的基本功能。最近发现微信公众平台基础功能已经开始无法满足使用要求了,所以开始自己动手写个适合自己要求的。

准备工作

  所有关于微信公众平台开发的相关信息都可以查看:微信公众平台开发者文档
  还需要在微信公众平台开发者中心获取AppID(应用ID)和AppSecret(应用密钥),之后参考官方文档或者是下面的代码就可以实现了。

实现代码

<?php

$appid="APPID";//填写appid
$secret="SECRET";//填写secret

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secret}";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$a = curl_exec($ch);


$strjson=json_decode($a);
$token = $strjson->access_token;
$post="{
     \"button\":[
      {	
          \"type\":\"click\",
          \"name\":\"店铺信息\",
           \"sub_button\":[
            {
               \"type\":\"click\",
               \"name\":\"店铺地址\",
               \"key\":\"key-add\"
            },
             {
               \"type\":\"click\",
               \"name\":\"联系电话\",
               \"key\":\"key-tel\"
            },
            {
               \"type\":\"click\",
               \"name\":\"店面WiFi\",
               \"key\":\"WIFI\"
            }
            
            ]
      },
        
           {
           \"type\":\"click\",
           \"name\":\"温馨服务\",
           \"sub_button\":[
            {
               \"type\":\"click\",
               \"name\":\"会员绑定\",
               \"key\":\"key-member\"
            },
            {
               \"type\":\"click\",
               \"name\":\"积分查询\",
               \"key\":\"key-no\"
            },
            {
               \"type\":\"click\",
               \"name\":\"联系我们\",
               \"key\":\"COMPANY\"
            }]
       }]
 }";  //提交内容
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token={$token}"; //查询地址 
$ch = curl_init();//新建curl
curl_setopt($ch, CURLOPT_URL, $url);//url  
curl_setopt($ch, CURLOPT_POST, 1);  //post
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);//post内容  
curl_exec($ch); //输出   
curl_close($ch); 
?>

  访问代码页面如果显示返回结果为下面的JSON数据包,就证明创建成功了。

{"errcode":0,"errmsg":"ok"}
最后修改:5年前

共有 2 条评论

  1. maicoo 游客 来自天朝的朋友 谷歌浏览器 | Windows 7 中国 · 新疆 · 乌鲁木齐 · 电信

    弄个平台出来玩

    1. 张维龙 管理员 来自天朝的朋友 QQ浏览器 | Windows 7 中国 · 辽宁 · 沈阳 · 电信

      正在写呢,暂时公司内部使用。