首頁 > 後端開發 > php教程 > 微信 php 自定义菜单解决方法

微信 php 自定义菜单解决方法

WBOY
發布: 2016-06-13 11:45:59
原創
892 人瀏覽過

微信 php 自定义菜单
我申请了一个微信公众平台的测试账号,之前已经通过验证,关注后用我的微信号向测试账号发消息可以得到测试账号的正确响应,我现在想实现微信的自定义菜单,下面用***代替了我测试账号的appid和secret,我进测试账号没看到自定义菜单,请问问题出在哪?

<br /><?php<br />/**<br />  * wechat php test<br />  */<br /><br />//define your token<br />define("TOKEN", "weixin");<br /><br />$token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=***&secret=***";<br /><br />$data = "{<br />     "button":[<br />     {	<br />          "type":"click",<br />          "name":"今日歌曲",<br />          "key":"V1001_TODAY_MUSIC"<br />      },<br />      {<br />           "type":"click",<br />           "name":"歌手简介",<br />           "key":"V1001_TODAY_SINGER"<br />      },<br />      {<br />           "name":"菜单",<br />           "sub_button":[<br />            {<br />               "type":"click",<br />               "name":"hello word",<br />               "key":"V1001_HELLO_WORLD"<br />            },<br />            {<br />               "type":"click",<br />               "name":"赞一下我们",<br />               "key":"V1001_GOOD"<br />            }]<br />       }]<br /> }";<br /><br />$wechatObj = new wechatCallbackapiTest();<br />$wechatObj->post($wechatObj->get_access_token(), $data);<br /><br />class wechatCallbackapiTest<br />{	<br />	public function get_access_token(){  <br />        $json=http_request_json($token_url);<br />        $data=json_decode($json,true);  <br />        if($data['access_token']){  <br />            return $data['access_token'];  <br />        }else{  <br />            return "获取access_token错误";  <br />        }         <br />    }  <br />	<br />    public function http_request_json($url){    <br />        $ch = curl_init();  <br />        curl_setopt($ch, CURLOPT_URL,$url);  <br />        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  <br />        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);  <br />        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  <br />        $result = curl_exec($ch);  <br />        curl_close($ch);  <br />        return $result;    <br />    }  <br />	<br />	public function post($access_token, $jsonData){<br />		$ch = curl_init("https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token) ;<br />		curl_setopt($ch, CURLOPT_POST, 1);<br />		curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");<br />		curl_setopt($ch, CURLOPT_POSTFIELDS,$jsonData);<br />		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br />		curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));<br /><br />		$result = curl_exec($ch) ;<br />		curl_close($ch) ;<br />		return $result;<br />	}<br />}<br /><br />?><br />
登入後複製

------解决方案--------------------
我记得菜单在官方的文档有例子的
至于调试,应该官方会抛出错误编号方便你判断的吧.
------解决方案--------------------

引用:
Quote: 引用:

我记得菜单在官方的文档有例子的
至于调试,应该官方会抛出错误编号方便你判断的吧.

微信官方抛的错误应该是在服务器上啊,他又不会直接抛到界面上,我就是问我在服务器哪里去看这个错误


根据我的经验 大凡API调用之后都应该有个callback...回调
------解决方案--------------------
引用:
还有一个问题,我该怎么调试这种微信的php开发,在服务器上哪个地方可以看到日志(就是类似echo的值)?我是用xampp搭建的服务器

调试在微信开发者平台有提供调试的平台,不过我感觉最好自己做好程序的抛错(exception)处理,这样会根据调试平台上的信息可以知道自己的问题出在哪里。我个人喜欢PHP,这是我的博客http://www.ihuxu.com,希望多多交流。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板