查询文档发现这是40029错误的解释
image.png
php代码
//获取微信openId
public function getOpenId($dataArr){
$retArr["ret"] = array("retCod" => "0", "retMsg" => "get openId is success!");
$code = $dataArr['code'];
$appid = $dataArr['appid'];
$secret = $dataArr['secret'];
$api = "https://api.weixin.qq.com/sns/jscode2session?appid=".$appid."&secret=".$secret."&js_code=".$code."&grant_type=authorization_code";
$str = $this->doCurl($api);
$str = json_decode($str,true);
$retArr['data']['openid']= $str['openid'];
$retArr['data']['session_key']= $str['session_key'] ;
return $retArr;
}
public function doCurl($url)
{
$curl = curl_init();
// 使用curl_setopt()设置要获取的URL地址
curl_setopt($curl, CURLOPT_URL, $url);
// 设置是否输出header
curl_setopt($curl, CURLOPT_HEADER, false);
// 设置是否输出结果
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 设置是否检查服务器端的证书
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
// 使用curl_exec()将CURL返回的结果转换成正常数据并保存到一个变量
$data = curl_exec($curl);
// 使用 curl_close() 关闭CURL会话
curl_close($curl);
return $data;//json_decode($data);
}
查看传过来的appid和secret都是自己公众号对应的没问题
虽然没有用到php里面配置啊appId和secret但是自己看了也没问题
最终发现是小程序开发工具中因为和同事合并代码,把project.config.json文件中的appid覆盖了,他的是测试环境的,把我的覆盖了,这个配置很重要,大家切记
网友评论