微信服务号平台开发(自定义菜单)

本文详细介绍了如何使用PHP获取微信接入令牌,并配置公众号菜单,包括按钮定义与发送请求的基本流程。

        本人初学php,开始对php的理解是,当客户端向服务端发出请求时候,Php自动开始执行。怪自己笨,看着微信官方给的API纠结了n久也没想出来,怎么php主动发消息给微信服务端(固定思维了,人为php就是服务端,发送请求就应该用浏览器或者c++这种主动执行的代码去发起请求)。在度娘了n个结果后,终于恍然大悟!用自己浏览器去访问本地服务器,这样就可以主动运行php代码了。怪我太年轻,刚刚接触php。

       这个明白了以后,后面貌似就变得很简单了。

       1.根据APPID和APPSECRET去获取acess_taken

$APPID="wx85f447f9b1d9e3bf";
$APPSECRET="4afb044f70d5e041fa99d40d55dd9e0d";

$TOKEN_URL="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$APPID."&secret=".$APPSECRET;

$json=file_get_contents($TOKEN_URL);
$result=json_decode($json,true);
$access_token =$result['access_token'];


       获得了access_token以后,我们就可以获得到了我们需要的发送地址。

但是在发送给企鹅微信服务器之前,我们先得告诉企鹅我们需要定义怎么样的按钮呗,所以我们需要定义按钮。定义按钮我们需要的是定义一个array();将array作为json传送给企鹅服务器。

       下面是定义按钮的array,下面的定义我是网上copy来的。只是作为demo看的。

$jsonmenu = '{
      "button":[
      {
            "name":"天气预报",
           "sub_button":[
            {
               "type":"click",
               "name":"北京天气",
               "key":"天气北京"
            },
            {
               "type":"click",
               "name":"上海天气",
               "key":"天气上海"
            },
            {
               "type":"click",
               "name":"广州天气",
               "key":"天气广州"
            },
            {
               "type":"click",
               "name":"深圳天气",
               "key":"天气深圳"
            },
            {
                "type":"view",
                "name":"本地天气",
                "url":"http://m.hao123.com/a/tianqi"
            }]
      

       },
       {
           "name":"方倍工作室",
           "sub_button":[
            {
               "type":"click",
               "name":"公司简介",
               "key":"company"
            },
            {
               "type":"click",
               "name":"趣味游戏",
               "key":"游戏"
            },
            {
                "type":"click",
                "name":"讲个笑话",
                "key":"笑话"
            }]
       

       }]
 }';



        定义好了按钮以后,我们就要发送给企鹅服务器了。。。

        首先我们要得到发送地址

$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token;

       有了地址我们就要发送给去了。。。

$result = https_request($url, $jsonmenu);
var_dump($result);

function https_request($url,$data = null){
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    if (!empty($data)){
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    }
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($curl);
    curl_close($curl);
    return $output;
}



执行代码以后:


这样基本就成功了。


困死我了。原谅我简单的写完了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值