微信开发创建自定义菜单

自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能。

1、自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。
2、一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“...”代替。
3、创建自定义菜单后,菜单的刷新策略是,在用户进入公众号会话页或公众号profile页时,如果发现上一次拉取菜单的请求在5分钟以前,就会拉取一下菜单,如果菜单有更新,就会刷新客户端的菜单。测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的效果。


自定义菜单接口可实现多种类型按钮总共有10种,最常见的有两种:
1、click:点击推事件用户点击click类型按钮后,微信服务器会通过消息接口推送消息类型为event的结构给开发者(参考消息接口指南),并且带上按钮中开发者填写的key值,开发者可以通过自定义的key值与用户进行交互;
2、view:跳转URL用户点击view类型按钮后,微信客户端将会打开开发者在按钮中填写的网页URL,可与网页授权获取用户基本信息接口结合,获得用户基本信息。

至于构造curl请求函数和获取access_token这里就不用贴出来了,具体见

PHP中的curl网络请求

获取微信基础接口凭证Access_token

//自定义菜单栏
public function _createMenu(){
	$curl = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token='.$this->_getAccessToken();
	$data = ' {
			 "button":[
			  {
				   "name":"常用服务",
				   "sub_button":[
				   {	
					   "type":"view",
					   "name":"百度一下",
					   "url":"https://www.baidu.com/"
					},
					{
					   "type":"view",
					   "name":"腾讯视频",
					   "url":"http://v.qq.com/"
					},
					{
					   "type":"click",
					   "name":"创业杂谈",
					   "key":"TALK"
					}]
			   },
			  {	
				  "type":"click",
				  "name":"今日歌曲",
				  "key":"TODAY_MUSIC"
			  }]
		 }';
	$result = $this->_request($curl,true,'POST',$data);
	echo $result;
}

按钮类型为click类型的时候,在接收事件推送里边必须有与之对应的key值,否则得不到应有的响应。详见 微信消息管理之接收事件推送


©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页