微信网页调用分享功能出现config:fail,invalid signature的解决,及其开发过程中需要注意的几个地方
在开发网页分享功能的时候,会出现{errMsg: "config:fail,invalid signature", jsApiList: Array(0)})里的link值不一样!并且分享接口的link的域名必须在公众号开发的白名单中!,"onMenuShareAppMessage"] // 必填,需要使用的JS接口列表。第三,出现config:fail,invalid signature问题,很
在开发网页分享功能的时候,会出现{errMsg: "config:fail,invalid signature", jsApiList: Array(0)}
在解决过程中,了解到有几个方面可能会影响wxjdk的调用而报错。
第一个就是确认开发的公众号是否有所需jdk的使用权限,可以用微信开发工具打开微信JS-SDK Demo来查看权限,并且可以详细查看jdk的使用详情。
第二,注意使用的接口是否与引用的微信JS文件包版本匹配,如:

还有就是,如果发现在 Android 不能分享自定义内容,请到官网下载最新的包覆盖安装,Android 自定义分享接口需升级至 6.0.2.58 版本及以上
第三,出现config:fail,invalid signature问题,很容易出现的原因,
① 前端需要将当前需要分享的页面url,通过ajax传递给后台来获取 noncestr timestamp nonceStr,
此时的 url=location.href.split('#')[0],与分享接口(如onMenuShareAppMessage)里的link值不一样!!!!两个不一样!!! 并且分享接口的link的域名必须在公众号开发的白名单中!!!
② 后台 需要 将
paramMap.put("jsapi_ticket", jsApiTicket);
paramMap.put("noncestr", nonceStr);
paramMap.put("timestamp", Long.toString(timestame));
paramMap.put("url", url);
生成签名返回 ,noncestr 和 timestamp 需要给前端 的值 一致
注意:签名时 noncestr timestamp 都小写
但是 wx.config 中 nonceStr 中S大写
————————————————
wx.config({
debug : true,
appId : appId,
timestamp : timestamp, //小写
nonceStr : nonceStr, //nonceStr 中S大写
signature : signature , //小写
jsApiList: ["onMenuShareTimeline"
,"onMenuShareQQ"
,"onMenuShareAppMessage"] // 必填,需要使用的JS接口列表
});
然后,就成功了~

更多推荐




所有评论(0)