最近之前写过的微信分享突然不好用了,确认没有更改过任何代码。
解决思路,跟踪微信分享接口API,看问题主要出现在什么地方。
wx.config({
debug: false,
将debug改为true,
打开页面报错 "errMsg":"config:invalid signature
简单记录:
分别在下面几个地方,打印相关值寻找问题。
$signPackage = $jssdk->GetSignPackage();
//var_dump($signPackage);die;
public function getSignPackage() {
$jsapiTicket = $this->getJsApiTicket();
//var_dump($jsapiTicket);die;
private function getJsApiTicket() {
// jsapi_ticket 应该全局存储与更新,以下代码以写入到文件中做示例
$data = json_decode($this->get_php_file("jsapi_ticket.php"));
//var_dump($data);die;
if ($data->expire_time < time()) {
$accessToken = $this->getAccessToken();
//var_dump($accessToken);die;
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appId&secret=$this->appSecret";
$res = json_decode($this->httpGet($url));
//var_dump($res);die;
$access_token = $res->access_token;
//var_dump($access_token);die;
结果发现在api调用acces_token的时候报错,invalid appsecret,view more at http://t.cn/RAEkdVq,
用户输入错误,请用户重新输入;
2、用户由于超过3个月未使用appsecret,系统已进行重新设置,请登录公众平台=》开发者中心=》配置项=》里进行查看并使用最新的appsecret。
重新设置appsecret,问题解决,不知道怎么判断用户超过3个月未使用appsecret.作为下次研究。