微信公众平台自定义菜单接口开发
- 问题:运营人员在设置微信公众号设置菜单栏显示,未开启自定义菜单
- 解决方案(微信公众平台自定义菜单接口开发):
- 自定义菜单-创建接口
- 请求链接
- 完整代码
- 第一步:在WeChat类里添加代码
- 情况一:没有WeChat类情况,如果已有请看情况二
- 情况二:已有WeChat类情况
- 第二步:在WeChatEvent类中添加代码
- 情况一:没有WeChatEvent类情况,如果已有请看情况二
- 情况二:已有WeChatEvent类情况
- 第三步:调用设置自定义菜单接口并传值(带常见三种菜单栏消息类型)
- 更多类型按钮
- 自定义菜单-查询接口
- 请求链接
- 完整代码
- 第一步:在WeChat类中
- 第二步:
- 自定义菜单-删除接口
- 请求链接
- 完整代码
- 第一步:在WeChat类中
- 第二步:
微信公众平台开发 微信公众平台开发者 微信公众平台开发模式 服务号 自定义菜单接口API
背景:在开启“服务器配置”后,微信公众号运营人员在微信公众平台设置自定义菜单栏是提示“未开启自定义菜单”
相关链接:如何开启服务器配置 | 实现扫码关注微信公众号系统/网站自动注册登录
问题:运营人员在设置微信公众号设置菜单栏显示,未开启自定义菜单
解决方案(微信公众平台自定义菜单接口开发):
自定义菜单-创建接口
请求链接
http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN
完整代码
第一步:在WeChat类里添加代码
情况一:没有WeChat类情况,如果已有请看情况二
创建WeChat类,完整代码:
<?phpnamespace app\api\controller;
use think\Cache;
class WeChatJutuiguanjia
{protected $appid;protected $secret;protected $accessToken;/**** 设置微信公众号appid及secret **/function __construct(){$this->appid = "";$this->secret = "";$this->accessToken = $this->getAccessToken();}/**** 获取access_token* token的有效时间为2小时,这里可以做下处理,提高效率不用每次都去获取,* 将token存储到缓存中,每2小时更新一下,然后从缓存取即可* @return**/private function getAccessToken(){$access_token = Cache::get('access_token');if(empty($uid)){$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $this->appid . "&secret=" . $this->secret;$res = json_decode($this->httpRequest($url), true);Cache::set('access_token', $res['access_token'],60*59);$access_token = $res['access_token'];}return $access_token;}/**** POST或GET请求* @url 请求url* @data POST数据* @return**/private function httpRequest($url, $data = ""){$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)) { //判断是否为POST请求curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $data)