微信公众平台:invalid signature

按照微信文档一一对照检查:

1. 生成签名正确

2. nonceStr大小写正确

3. appid 与用来获取 jsapi_ticket 的 appid 一致

以上三条没有问题,然后很多人就不知道该怎么办了,这里不要忽视第四条,既然前面都正确,那肯定就是url不正确了,然后很多人会表面看url, 然后就想当然的去想url一定正确了, 其实这里不能想当然,比如下面情况,这就导致了,实际的url并不是我们一开始规定的url,在后面被加上了?及相关参数

微信分享会根据分享的不同,为原始链接拼接如下参数:

朋友圈 from=timeline&isappinstalled=0

微信群 from=groupmessage&isappinstalled=0

好友分享 from=singlemessage&isappinstalled=0

在连接后加上?&再进行分享,分享成功,原理

这里给出一个正确获取url的方法:

$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== off || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";

$url = $protocol.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180316G1I5NV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券