怎么调用微信高级接口
微信高级接口和微信普通接口的区别
后台服务器可以调用微信的接口与微信用户进行讯息的通信,这样的行为就是在调用微信的接口,这些接口是基础接口,你不需要任何付费行为或者身份认证行为就可以调用。但是有一些高级接口,你的微信公众号必须达到一定的权限如通过微信认证才能调用自定义菜单、微信支付等高级功能。
不过微信公众帐号的测试号系统可以应用这些高级接口(微信支付等涉及交易的接口除外)。
微信高级接口的调用
微信高级接口的调用需要先调用一个token_access接口,只有先调用这个接口才能调用其它高级接口。
如下:连通高级接口示意图
调用token_access需要用到appID和appsecreset(在微信公众号平台开发(一)中已经讲述这两者的由来)
调用代码如下
<?php$appid = "wxbad0b4x543aa0b5e";$appsecret = "ed222a84da15cd24c4bdfa5d9adbabf2";$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";//下面是一个cURL会话过程,通过这个会话可以返回一段字符串{"access_token":"NU7Kr6v9L9TQaqm5NE3OTPctTZx797Wxw4Snd2WL2HHBqLCiXlDVOw2l-Se0I-WmOLLniAYLAwzhbYhXNjb"}这就是我们要获得的Access Token了。在调用高级功能接口的时候就靠它。这个过程用的时候直接引用就好,不需要深究,这个cURL系统相关函数有点多而且复杂。$ch = curl_init();//初始化curl_setopt($ch, CURLOPT_URL, $url);//与url建立对话curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //进行配置curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); //进行配置curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//进行配置$output = curl_exec($ch);//执行对话,获取接口数据Access Tokencurl_close($ch);//关闭会话$jsoninfo = json_decode($output, true);//解码接口数据,将json格式字符串转换成php变量或数组。默认是变量,加true后是数组。$access_token = $jsoninfo["access_token"];?>
调用微信高级接口
1)、调用自定义菜单功能
//创建一个自定义菜单的json字符串 $jsonmenu = '{ "button":[ { "name":"关于我们", "sub_button":[ { "type":"click", "name":"公司简介", "key":"公司简介" }, { "type":"click", "name":"社会责任", "key":"社会责任" }, { "type":"click", "name":"联系我们", "key":"联系我们" }] }, { "name":"产品服务", "sub_button":[ { "type":"click", "name":"微信平台", "key":"微信平台" }, { "type":"click", "name":"微博应用", "key":"微博应用" }, { "type":"click", "name":"手机网站", "key":"手机网站" }] }, { "name":"技术支持", "sub_button":[ { "type":"click", "name":"文档下载", "key":"文档下载" }, { "type":"click", "name":"技术社区", "key":"技术社区" }, { "type":"click", "name":"服务热线", "key":"服务热线" }] }] }'; $url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token;//接口地址$result = https_request($url, $jsonmenu);//与接口建立会话var_dump($result);function https_request($url,$data = null){ $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)){ curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($curl); curl_close($curl); return $output;}//把这段代码加入到上面的调用Access Token接口的代码中就可以实现在微信公众号界面添加菜单的功能。
新闻热点
疑难解答