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

微信 php 自定义菜单

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

/**

* wechat php test

*/

//define your token

define("TOKEN", "weixin");

$token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=***&secret=***";

$data = "{

"button":[

{

"type":"click",

"name":"今日歌曲",

"key":"V1001_TODAY_MUSIC"

},

{

"type":"click",

"name":"歌手简介",

"key":"V1001_TODAY_SINGER"

},

{

"name":"菜单",

"sub_button":[

{

"type":"click",

"name":"hello word",

"key":"V1001_HELLO_WORLD"

},

{

"type":"click",

"name":"赞一下我们",

"key":"V1001_GOOD"

}]

}]

}";

$wechatObj = new wechatCallbackapiTest();

$wechatObj->post($wechatObj->get_access_token(), $data);

class wechatCallbackapiTest

{

public function get_access_token(){

$json=http_request_json($token_url);

$data=json_decode($json,true);

if($data['access_token']){

return $data['access_token'];

}else{

return "获取access_token错误";

}

}

public function http_request_json($url){

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);

curl_close($ch);

return $result;

}

public function post($access_token, $jsonData){

$ch = curl_init("https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token) ;

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");

curl_setopt($ch, CURLOPT_POSTFIELDS,$jsonData);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));

$result = curl_exec($ch) ;

curl_close($ch) ;

return $result;

}

}

?>

------解决方案--------------------

我记得菜单在官方的文档有例子的

至于调试,应该官方会抛出错误编号方便你判断的吧.

------解决方案--------------------

引用:Quote: 引用:我记得菜单在官方的文档有例子的

至于调试,应该官方会抛出错误编号方便你判断的吧.

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

根据我的经验 大凡API调用之后都应该有个callback...回调

------解决方案--------------------

引用:还有一个问题,我该怎么调试这种微信的php开发,在服务器上哪个地方可以看到日志(就是类似echo的值)?我是用xampp搭建的服务器

调试在微信开发者平台有提供调试的平台,不过我感觉最好自己做好程序的抛错(exception)处理,这样会根据调试平台上的信息可以知道自己的问题出在哪里。我个人喜欢PHP,这是我的博客http://www.ihuxu.com,希望多多交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值