使用微信jsapi时获取jsapi_ticket失败问题

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

问题描述

系统上线之后运行良好,昨天下午开始突然报 “微信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

转载于:https://my.oschina.net/jingxing05/blog/464936

你可能感兴趣的:(使用微信jsapi时获取jsapi_ticket失败问题)