微信公众号开发 微信分享 签名错误,分享之后,再次分享提示签名错误的问题解决

一、校验网上所列出的每一项
1、确认签名算法正确,可以用 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 页面工具进行校验。
2、确认config中nonceStr(js中驼峰标准大写S), timestamp与用以签名中的对应noncestr, timestamp一致。
3、确认url是页面完整的url(请在当前页面alert(location.href.split(’#’)[0])确认),包括’http(s)?/‘部分,以及’?‘后面的GET参数部分,但不包括’#'hash后面的部分。
4、确认 config 中的 appid 与用来获取 jsapi_ticket 的 appid 一致。
确保一定缓存access_token和jsapi_ticket。
二、自己碰到的问题
首先,咱们的问题一个一个来解决,
1、当你解决了签名错误的问题之后,说明配置没有问题了,但还是分享失败,那就很有可能,是你分享提供的参数有问题。我在组织参数 生成signature的时候
string string1 = “jsapi_ticket=” + jsapiTicket + “&noncestr=” + nonceStr + “×tamp=” + timeStamp +
“&url=” + requestUrl;
这里的requestUrl 一开始我用的是 var url = “/WXShare/testAction?requestUrl=” + location.href; 这里location.href如果不做处理的话,那么在分享之后,访问分享的链接,再次分享的时候就会出问题。
解决方法是用encodeURIComponent()处理一下,然后问题就解决了,折腾了好处,我记得微信文档说,分享的链接不用处理的,这点有些搞不懂
var url = “/WXShare/GetSharePolicy?requestUrl=” + encodeURIComponent(location.href);

你可能感兴趣的:(微信公众号开发 微信分享 签名错误,分享之后,再次分享提示签名错误的问题解决)