夺命雷公狗---微信开发15----编写进行创建自定义菜单

cre_menu.php 代码如下:

<?php
    //因为我们的自定义菜单是要调用接口的,所以要先引入get_token.php
    require_once "get_token.php";
    $url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token={$access_token}";
    
     $jsonmenu = '{
         "button":[
         {    
              "type":"click",
              "name":"编程世界",
              "key":"V1001_TODAY_MUSIC"
          },
          {
               "name":"编程语言",
               "sub_button":[
               {    
                   "type":"view",
                   "name":"php",
                   "url":"http://www.soso.com/"
                },
                {
                   "type":"view",
                   "name":"java",
                   "url":"http://v.qq.com/"
                },
                {
                   "type":"click",
                   "name":"c++",
                   "key":"V1001_GOOD"
                }]
           }]
        }';
    
    //使用curl函数来请求url地址,完成创建菜单
    $result = http_request($url,$jsonmenu);
    var_dump($result);
    
    //我把请求内容封装到函数中
    function http_request($url, $data=null){
        //我们使用curl函数
        //初始化
        $ch = curl_init();
        //设置变量
        curl_setopt($ch, CURLOPT_URL,$url); //这意思是,设置好发送的url地址发送到那
        //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,$url); 这样的意思是对方要不要验证,如果不用则按照下面的即可
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,FALSE); //如果不用验证,这样即可
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,FALSE); //如果不用验证HOST主机这样即可
        if(!empty($data)){
            curl_setopt($ch,CURLOPT_POST,1);//启用时会发送一个常规的POST请求,就像表单提交的一样。
            curl_setopt($ch,CURLOPT_POSTFIELDS,$data);//全部数据使用HTTP协议中的"POST"操作来
        }
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //将curl_exec()获取的信息以文件流的形式返回,而不是直接输出
        //执行
        $output = curl_exec($ch); //返回来的值是一个json格式的值
        //关闭句柄
        curl_close($ch);
        return $output;
    }
    
    
    

get_token.php 代码如下:

<?php
    //原理,就是使用curl函数,发出http请求,获取access_token
    $appid = 'wxed89d8f74fa6fc51';
    $appsecret = 'd4624c36b6795d1d99dcf0547af5443d';
    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}";
    
    //我们使用curl函数
    //初始化
    $ch = curl_init();
    //设置变量
    curl_setopt($ch, CURLOPT_URL,$url); //这意思是,设置好发送的url地址发送到那
    //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,$url); 这样的意思是对方要不要验证,如果不用则按照下面的即可
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,FALSE); //如果不用验证,这样即可
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,FALSE); //如果不用验证HOST主机这样即可
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //将curl_exec()获取的信息以文件流的形式返回,而不是直接输出
    //执行
    $output = curl_exec($ch); //返回来的值是一个json格式的值
    //关闭句柄
    curl_close($ch);
    //对返回的json结果要将他转为一个数组
    $jsoninfo = json_decode($output,true);
    //测试以下,看下是否拿到返的回数组
    //var_dump($jsoninfo); 
    
    $access_token = $jsoninfo['access_token'];

如果创建成功如下图所示:

在扫下二维码即可发现变化咯,嘻嘻

原文地址:https://www.cnblogs.com/leigood/p/5170451.html