侧边栏壁纸
  • 累计撰写 197 篇文章
  • 累计收到 496 条评论

利用PHP开发微信公众平台自定义菜单

2019-4-3 / 0 评论 / 71 阅读

最近要做一个微信公众账号,花了点时间已经将一部分功能完成,其中就包括自定义菜单的实现,现在就将一些代码分享给大家,觉得对自己有帮助就看看!

读这篇文章时,假设你已经成功的申请到了自定义菜单了权限,如果没有,推荐你去看看这篇博文 《自定义菜单的创建及菜单事件响应》接下来就是获取Token了,方法很简单,如下所说:


请求说明

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


这是微信上面的文档,现在只要把上面链接中的APPID和APPSECRET修改为自己的AppId和AppSecret,然后直接拷贝至浏览器的地址栏窗口,回车即可获取到那个Token了,如下所示,

{"access_token":"NUF35mOfsEQMoLhezC053RrU4G2rpFsvt5CmG6mFZtRhCsPmA3EK3W0ohUacF-d3lKJW6i7q_a9UrKRNPb6IRtX6FT1qRu_LAHi2FTxpxXwFNYFwIkWU2qqRA","expires_in":7200}

现在你的token已经获取成功了,下来就是相关的代码实现了。

public function createMenu(){
        $ACCESS_TOKEN = "前面通过浏览器获取到的Token";
        $data = '{
          
         "button":[
             
                  "type":"click",
                  "name":"搜索附近",
                  "key":"1"
              },
              {
                  "type":"click",
                  "name":"最新活动",
                  "key":"2"
              },
              {
                  "name":"更多",
                  "sub_button":[
                    {
                       "type":"click",
                       "name":"关于我们",
                       "key":"3"
                    },
                    {
                       "type":"click",
                       "name":"用户反馈",
                       "key":"4"
                    },
                    {
                       "type":"click",
                       "name":"优倍周边",
                       "key":"5"
                    }]
              }]
         }';
        $ch = curl_init();
 
        curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/menu/create?access_token={$ACCESS_TOKEN}");
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $tmpInfo = curl_exec($ch);
        if (curl_errno($ch)) {
            echo 'Errno'.curl_error($ch);
        }
        curl_close($ch);
        var_dump($tmpInfo);
 
    }


现在和合适的位置调用上面的方法就可以实现菜单了,

<?php
    include_once('include/weixin.class.php');
    define('TOKEN', 'ubive');
    define('DEBUG', false);
    $weixin->createMenu();
?>

评论一下?

OωO
取消