1402
wx.addCard一直报签名错误这个问题折腾了两天了,搜了很多网友的解决方法,以及按照签名排错文档中的提示逐一排查,然而并没有什么用,下面将我的环境和遇到的签名问题描述一下。 我的公众号和小程序均已认证,同时使用工作号的appid 获取token 和api_ticket 并且做了缓存。 https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1} https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={0}&type=wx_card 前目排序如下: [代码]var[代码] [代码]perpare = [代码][代码]string[代码][代码].Format([代码][代码]"{0}{1}{2}{3}"[代码][代码], api_ticket, timestamp.ToString(), nonce_str,cardid );[代码]这个是参照调试工具的排序方法,官方文档说的字典排序,可是我用字典排序,排序的结果跟调试工具完全不一样。 签名后的结果与调试工具一直。 cardExt 字符串拼装如下: [代码]var[代码] [代码]cards =[{[代码][代码] [代码][代码]cardId: me.data.cardId,[代码][代码] [代码][代码]cardExt: [代码][代码]'{"timestamp":'[代码] [代码]+ res.data.timestamp + [代码][代码]',"signature":"'[代码] [代码]+ res.data.signature + [代码][代码]'", "nonce_str":"'[代码] [代码]+ res.data.nonceStr + [代码][代码]'"}'[代码][代码] [代码][代码]}];[代码]输出结果 输出结果如下: [代码]{[代码][代码]cardExt[代码]:[代码]"{"[代码][代码]timestamp[代码][代码]":1547435004,"[代码][代码]signature[代码][代码]":"[代码][代码]bf50d6cef45d43137e0494b9a299b59d569a84b0[代码][代码]", "[代码][代码]nonce_str[代码][代码]":"[代码][代码]313d0cc5af004275845f15f1c7b40e9d[代码][代码]"}",[代码][代码]cardId[代码]:"p18KQ55QuuWfC9NxcM2yKBGAKUbk"[代码]}[代码]我实在是没辙了,所以发帖求助,如能解决万分感谢。
2020-10-03