zoukankan      html  css  js  c++  java
  • 夺命雷公狗---微信开发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'];

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

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

  • 相关阅读:
    linux中mysql表名默认区分大小写导致表找不到的问题
    将hive的hql执行结果保存到变量中
    excel导出功能优化
    shell中执行hive命令错误:delimited by end-of-file (wanted `EOF')
    javascript中全局变量的定义
    datagrid中reoload提交时如何批量提交表单中的查询条件
    Linux下查看文件和文件夹大小
    Linux 时间修改--date -s命令
    Unicode字符集,各个语言的区间
    js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
  • 原文地址:https://www.cnblogs.com/leigood/p/5170451.html
Copyright © 2011-2022 走看看