微信公众号的自定义菜单

一、自定义菜单创建接口

阅读官方请求地址,请求形式为POST请求

请求时,要求发送的数据是JSON格式

二、ACCESS_TOKEN

十公众号的全局唯一票据,公众号调用各接口时都需使用access_token。

开发者需要进行妥善保存

access_token的存储至少要保留512个字符空间。

access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

 

获取access_token方法:

大家可以在微信开发者平台或测试账号管理平台直接获取appid与secret

之后将自己的appid和secret复制到相应的位置,获取到自己的access_token

三、cURL库

cURL是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP\FTP\TELNET等,最爽的是PHP也支持cURL

curl操作四步走

1.初始化$ch=curl_init()

2.设置参数curl_setopt($ch,参数)

3.执行curl_exec($ch)

4.关闭curl_close($ch)

输出错误信息:curl_error($ch)

 

设置参数(相关参数说明)

CURLOPT_URL:请求的URL地址

CURLOPT_RETURNTANSFER:捕获内容,但不输出

CURLOPT_HEADER:设置头信息

CURLOPT_POST:模拟发送POST请求

CURLOPT_POSTFIELDS:发送POST请求时所传递的参数

 

代码如下:

访问这个页面 ,得到

如果出现Call to undefined function curl_init()这种错误

首先,打开php.ini,找到“extension=php_curl.dll”,然后去掉前面的“;”注释,重启apache即可。

这样,再次访问就可以访问到了

 

四、自定义菜单创建代码

当第一次请求时,系统会报如下错误:

代表服务器端需要校验SSL证书,如何解决呢?

答:可以通过CURL禁止服务器端校验SSL

curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);

再次运行,如果返回json格式的数据,且errmsg属性为“OK”,代表创建成功(要注意TOKEN秘钥是两个小时,超过两个小时,要重新获取)

说明:自定义菜单创建完成后,不会立即生效,其生效时间为24小时,我们可以通过取消关注微信号并再次关注即可解决以上问题。

 

这样,我们的菜单就创建出来了

 

posted on 2016-11-03 15:06  嗨_ck  阅读(375)  评论(0编辑  收藏  举报

导航