问题描述
系统上线之后运行良好,昨天下午开始突然报 “微信jsapi初始化失败”的错误提示
排查
1、开启使用了jsapi的页面的wx.config的debug,提示signature签名错误
2、既然签名错误就一步步打印获取这个数据的步骤上的中间数据,看是哪个错了
3、结果是用php curl模拟get https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi 这个去获取jsapi_ticket时报错400,请求参数错误
请求参数错误!!!困扰了很久!之前能成功!
原因:问题出在ACCESS_TOKEN上,这个token的格式会不会出现特殊字符腾讯没有说明,而“JSSDK说明文档”中说用http GET方式请求jsapi_ticket时也没说明 这个 token中会出现特殊字符!!!
在PHP中没有对该token进行urlencode,于是当token中有特殊字符时就出现400
解决
get和post开放API时,对格式不明的请求参数使用urlencode
时间: 2024-10-11 23:06:03