自定义菜单开发模式详解 一、如何获取凭证(token) 话说微信的接口指南一直做得不咋地,这边鼓励大家都转服务号,这边给的说明文档除了码农真没几个能看明白的,一点也不考虑大量的小白运营者,干脆叫指北算了。 牢骚完毕先说下开发自定义菜单第一步要做的就是获取凭证,即 access_token,这步非常重要,微信接下来会开放更多的开发接口,开发者要操作接口都要通过这个 access_token,而这个凭证是需要通过接口来生成的,并且是有失效时间的。 生成凭证需要两个第三方的固定ID 和秘钥,进入开发模式的页面,已经获取到自定义菜单接口权限的朋友会看到下图: 除了原来接口通讯 u rl 和自己设置的 token 多了两个新字段即 Appid 和AppSecret,也就是第三方的固定ID 和秘钥,有了这个就能通过接口程序获取到临时的凭证。将这两个 id 放到代码如下图位置: 这段代码主要是初始化了memcache 和cu rl 类,分别是缓存和抓取用的,同时将ID 和秘钥也赋值了。接下来就是通过接口获取token,代码如下图: 这是一个获取接口的函数,函数运行时首先是监测缓存中是否已经有 token,如果有则直接从缓存中取,要知道官方限制每天只能获取100次 token,所以做个缓存很有必要。 如果缓存中没有token 或者缓存时间过期,那么就使用curl 这个类发送Appid和AppSecret 到接口获取token,curl_setopt 是定义抓取属性的,curl_exec 是运行抓取,想了解相关的可以百度一下。 获取的到是一个json 格式数据,使用json_decode 转化为数组,然后判断是否获取到,如果没有则输出错误信息,获取成功则将该token 保存到缓存中,同时函数返回token 退出。这样我们就很方便的拿到了凭证。 二、自定义菜单创建、查询和删除 拿到access_token 以后我们就可以开始进行自定义菜单操作了,首先是创建自定义菜单,官方说明很简单“通过POST 一个特定结构体,实现在微信客户端创建自定义菜单。”然后有一个特定结构体的示例,如下图: 还有一些关于这个特定结构体字段的说明: 参数 是否必须 说明 button 是 按钮数组,按钮个数应为2~3个 sub_button 否 子按钮数组,按钮个数应为2~5个 type 是 按钮类型,目前有click 类型 name 是 按钮描述,既按钮名字,不超过16个字节,子菜单不超过40个字节 key 类型为click 必须 按钮KEY 值,用于消息接口(event 类型)推送,不超过128字节 我估计有不少朋友会看的头晕,一是这个特...