前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP实现微信公众号企业号自定义菜单接口示例

PHP实现微信公众号企业号自定义菜单接口示例

作者头像
Yiiven
发布2022-12-15 12:38:31
6580
发布2022-12-15 12:38:31
举报
文章被收录于专栏:怡文菌
代码语言:javascript
复制
define(AppId, "wx666cae44xxxxxx2");//定义AppId,需要在微信公众平台申请自定义菜单后会得到
define(AppSecret, "d77026a714d443a01d0229xxxxxxxx");//定义AppSecret,需要在微信公众平台申请自定义菜单后会得到
include("menu.php");//引入微信类
$wechatObj = new Wechat();//实例化微信类
$creatMenu = $wechatObj->creatMenu();//创建菜单 

menu.php

代码语言:javascript
复制
<?php
class Wechat {
    //获取access_token
    private function getAccessToken(){ 
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".AppId."&secret=".AppSecret; 
        $data = getCurl($url);//通过自定义函数getCurl得到https的内容 
        $resultArr = json_decode($data, true);//转为数组 
        return $resultArr["access_token"];//获取access_token 
    }
    //创建菜单
    public function creatMenu(){ 
    //获取access_token 
    $accessToken = $this->getAccessToken();
    //构造POST给微信服务器的菜单结构体 
    $menuPostString = '{
        "button":[{ 
                "name":"产品介绍", 
                "sub_button":[{ 
                    "type":"view", 
                    "name":"分销A型", 
                    "url":"http://www.yourwebname.com/fenxiao/jianjie/soft.html"
                },{ 
                    "type":"view", 
                    "name":"分销B型", 
                    "url":"http://www.yourwebname.com/fenxiaob/jianjie/soft.html"
                },{ 
                    "type":"view", 
                    "name":"地接批发", 
                    "url":"http://www.yourwebname.com/dijie/jianjie/soft.html"
                },{ 
                    "type":"view", 
                    "name":"精简组团", 
                    "url":"http://www.yourwebname.com/zutuan/jianjie/soft.html"
                },{ 
                    "type":"view", 
                    "name":"直客网站", 
                    "url":"http://www.yourwebname.com/tripal/jianjie/soft.html"
                }] 
            },{ 
                "name":"申请试用", 
                    "sub_button":[{ 
                    "type":"click", 
                    "name":"分销A型", 
                    "key":"fxa"
                },{ 
                    "type":"click", 
                    "name":"分销B型", 
                    "key":"fxb"
                },{ 
                    "type":"click", 
                    "name":"地接批发", 
                    "key":"dj"
                },{ 
                    "type":"click", 
                    "name":"精简组团", 
                    "key":"zutuan"
                },{ 
                    "type":"click", 
                    "name":"直客网站", 
                    "key":"zhike"
                }] 
            },{ 
              "name":"博纵在线", 
                "sub_button":[{ 
                    "type":"view", 
                    "name":"企业介绍", 
                    "url":"http://www.yourwebname.com/about.html"
                },{ 
                    "type":"view", 
                    "name":"公司新闻", 
                    "url":"http://www.yourwebname.com/news/company/"
                },{ 
                    "type":"view", 
                    "name":"联系我们", 
                    "url":"http://www.yourwebname.com/contact.html"
                }]
            } 
        ]}'; 
        $menuPostUrl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$accessToken;//POST的url 
        $menu = dataPost($menuPostString, $menuPostUrl);//将菜单结构体POST给微信服务器 
    }
}
//get https的内容 
function getCurl($url){
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL,$url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//不输出内容 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
    $result = curl_exec($ch); 
    curl_close ($ch); 
    return $result; 
} 
//POST方式提交数据 
function dataPost($post_string, $url) {
    $context = array ('http' => array ('method' => "POST", 'header' => "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) \r\n Accept: */*", 'content' => $post_string ) ); 
    $stream_context = stream_context_create ( $context ); 
    $data = file_get_contents ( $url, FALSE, $stream_context ); 
    return $data; 
} 
?>/* Your code... */

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:

原文出处:Yiiven https://cloud.tencent.com/developer/article/2193100

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-02-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档