php微信自定义菜单开发

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php微信自定义菜单开发相关的知识,希望对你有一定的参考价值。

微信自定义菜单需要有一个微信服务号,在开发之前需要获取access_token,获取方法很简单,登陆微信公众账号,进入开发者模式,就可以看到{开发者凭据}:下面AppId和AppSecret,开发者文档说明 :

接口调用请求说明

http请求方式: GEThttps://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

参数说明

参数是否必须说明
grant_type获取access_token填写client_credential
appid第三方用户唯一凭证
secret第三方用户唯一凭证密钥,即appsecret


复制那段https链接到浏览器地址,把相应的APPID和APPSECRET替代为你自己的Appid和AppSecret,确定有浏览器会显示一行字符串,复制这个字符串中access_token=后面的那段字符串,这个就是开发自定义菜单需要用到的。

 

自定义菜单代码具体如下:

 

<?PHP
header("Content-type: text/html; charset=utf-8");
$access="6NlcAQRqJONBcHFteTgq7uQ0e0ajzdZkR7mekGXzHO3tTEATwOBc-JuzfmUGkL8s98RQ0VUI8fT_sWWbQfr1tQFQq4dMT-4tAOxEhoI7pXIhHwem_OE1E_K14bSAWdDIY0ZnOGxxBhHfr5dBqs7HhA";
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access;
//创建菜单
function createMenu($data){
 $curl = curl_init();//初始化curl会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在
    curl_setopt($curl, CURLOPT_USERAGENT, ‘Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)‘); // 模拟用户使用的浏览器
    // curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
    // curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
    curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
    curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
    curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
 $tmpInfo = curl_exec($curl);//执行curl会话
 if (curl_errno($curl)) {
  return curl_error($curl);
 }
 curl_close($curl);
 return $tmpInfo;
}

$data = ‘ {
     "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"
            }]
       }]
 }‘;
echo createMenu($data);//创建菜单
?>

运行代码:如果显示

{"errcode":0,"errmsg":"ok"}

则运行成功,把代码传上服务器,完成。


以上是关于php微信自定义菜单开发的主要内容,如果未能解决你的问题,请参考以下文章

微信公众平台开发教程_微信自定义菜单的创建

如何添加微信自定义菜单

微信自定义菜单设置 及 emoji表情更换

java 微信自定义菜单 java微信接口开发 公众平台 SSM redis shiro 多数据源

asp.net 输出微信自定义菜单json

Confluence插件开发 - 6 - 增加个顶部自定义菜单