微信接口说明只是简单的一句话带过:“通过POST一个特定结构体,实现在微信客户端创建自定义菜单。”
实在令人摸不着头脑, 网上找的代码总是 ”{“errcode”:40001,”errmsg”:”invalid credential”}”。
后台发现token和access_token原来是不同的概念,token是在微信后台选择开发模式的时候填写的,而access_token则是通过接口调用生成的。调用的语句是:
- https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
结果会返回一个json格式的access_toke值。注意 json_decode()解析json后的结果是对象,原来以为是数组呢,又长见识了。。所以access_token 是 $weixindata->access_token 而不是$weixindata['access_token']。
如果你不想麻烦也可以到以下网址提交生成你的菜单。
- http://www.xjabc.net/weixinjiekoukaifa/menu.php
微信菜单并不是在客户打开微信的时候实时生成的,而已运行一次代码把数据提交到微信后台的,说白了,微信平台连做一个提交表单的工作都省略了,再次bs一下微信平台,体验实在不是一般烂。
<?php
header(“Content-type: text/html; charset=utf-8″);
$APPID=APPID;
$APPSECRET=APPSECRET;
$jsondata=file_get_contents(“https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=”.$APPID.”&secret=”.$APPSECRET);
$weixindata=json_decode($jsondata);
$ACCESS_TOKEN=$weixindata->access_token;
$data = ‘{
“button”:[
{
"type":"click",
"name":"获取密码1",
"key":"get_password"
},
{
"type":"click",
"name":"锁定账户",
"key":"lock_acount"
},
{
"type":"click",
"name":"解锁账户",
"key":"unlock_acount"
}]
}’;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, “https://api.weixin.qq.com/cgi-bin/menu/create?access_token={$ACCESS_TOKEN}”);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, “POST”);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, ‘Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)’);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$tmpInfo = curl_exec($ch);
if (curl_errno($ch)) {
echo ‘Errno’.curl_error($ch);
}
curl_close($ch);
var_dump($tmpInfo);
?>
祝你好运
分享到:
相关推荐
主要介绍了微信{"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"},非常具有实用价值,需要的朋友可以参考下
string '{"errcode":0,"errmsg":"ok"}' (length=27) 自定义菜单的删除接口会一次性删除所有自定义菜单,请求地址是: https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=ACCESS_TOKEN。成功后返回数据是...
微信小程序精品Demo:云档(it技术开发)项目原地址:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=9771&page=1&extra=#pid63445
主要介绍了微信小程序 出现错误:{"baseresponse":{"errcode":-80002,"errmsg":""}}解决办法的相关资料,需要的朋友可以参考下
{“errcode”:48001,”errmsg”:”api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]”} 声明:是已认证的服务号 前置说明 网页授权获取用户基本信息:两种 scope 域 ...snsapi_base 不需要用户点同意,直接...
首先根据微信的接口说明 获取你的 access_token 值 然后 利用文本中给的代码函数 调用 执行 返回 "errcode":0,"errmsg":"ok"} 则成功
云函数 调用失败 Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail requestID , cloud function service error code -504001, error message Unkown function;...
微信小程序 出现错误:{“baseresponse”:{“errcode”:-80002,”errmsg”:””}}解决办法 使用微信开发者工具进入项目 出现了一个错误提示:{“baseresponse”:{“errcode”:-80002,”errmsg”:””}} 这是因为...
第一个坑,获取用户的openid,参数一定要拼在url连接上,否则会报{"errcode":40013,"errmsg":"invalid appid, hints: [ req_id: iil1ba0504ns86 ]"}错误 onLoad: function () { var that = this wx.l
天喻软件:颠覆CAD.pdf
一:微信小程序一键登录之无法识别json数据 前言: 作为一个运维人员不背锅,谁背呢! 正文: 开发人员和前端人员写好了微信小程序,然后坑出现了,安卓上打死不能一键登录。然后开始排查, 开始从数据上着手...
首先根据微信的接口说明 获取你的 access_token 值 然后 利用提供的文件直接上传运行,根据显示的返回 参考判断是否正确,如果返回的是 {"errcode":0,"errmsg":"ok"} 则成功。 保证能用
1246200383 and hide = ‘n’ and type=’blog’ ORDER BY date DESC LIMIT 1 Error writing file ‘C:\WINDOWS\TEMP\MY9B6F.tmp’ (Errcode: 28) 解决方法: 1.释放C:\WINDOWS\TEMP\空间 2.因为原表太大,所以查询...
Java版本微信模板消息推送后台代码。适合初学者。小程序模板消息推送开发
File ‘c:mysqlsharecharsets?.conf’ not found (Errcode: 22) Character set ‘#33′ is not a compiled character set and is not specified in the ‘c:mysqlsharecharsetsIndex’ file
主要介绍了MySQL 启动报错:File ./mysql-bin.index not found (Errcode: 13)的解决方法,需要的朋友可以参考下
微信公众平台上传素材接口返回"{\"errcode\":41005,\"errmsg\":\"media data missing\"}",已解决。
代码本身没问题,现在我想实现群发的功能,但是出错了,麻烦帮我实现群推的功能
小程序生成图片