invalid signature_php,javascript - 微信接口调用一直是 invalid signature
最近在开发过程中用到微信的分享接口,但是按照他的文档来生成签名时,却一直出现invalid signature 的情况。
按照他提供的检测工具,检测出来的结果是正确的。
我这里获取签名的方法是在静态页面里通过异步传递当前url给php来获取,方法如下:
php获取方法使用的就是官方提供的例子修改的,签名算法应该没有问题。
url获取方法是参考http://segmentfault.com/q/1010000002502269,这个来实现的。
请问有人知道这是什么问题吗?
PS:刚刚测试发现,在手机上直接访问页面www.8-yi.com/passby/,然后是可以正常分享的,也就是签名正确了,但是分享以后(分享设置的link是:www.8-yi.com/passby/),再点开就会出现签名无效的情况,alert发现url后面被追加了一些微信的参数,但是即使这样,url也不算是错误的吧?为什么算出来的签名就是无效的呢?
因为我的url本身不需要参数,所以我把url获取方法改成:
var targetUrl = location.href.split('?')[0];//这里以 ? 作为分割,获取url
这样这里获取的url就跟直接访问时是一样的了,但是签名依然无效!!
都要疯了~~~
谢谢各位了~~~
回复内容:
最近在开发过程中用到微信的分享接口,但是按照他的文档来生成签名时,却一直出现invalid signature 的情况。
按照他提供的检测工具,检测出来的结果是正确的。
我这里获取签名的方法是在静态页面里通过异步传递当前url给php来获取,方法如下:
php获取方法使用的就是官方提供的例子修改的,签名算法应该没有问题。
url获取方法是参考http://segmentfault.com/q/1010000002502269,这个来实现的。
请问有人知道这是什么问题吗?
PS:刚刚测试发现,在手机上直接访问页面www.8-yi.com/passby/,然后是可以正常分享的,也就是签名正确了,但是分享以后(分享设置的link是:www.8-yi.com/passby/),再点开就会出现签名无效的情况,alert发现url后面被追加了一些微信的参数,但是即使这样,url也不算是错误的吧?为什么算出来的签名就是无效的呢?
因为我的url本身不需要参数,所以我把url获取方法改成:
var targetUrl = location.href.split('?')[0];//这里以 ? 作为分割,获取url
这样这里获取的url就跟直接访问时是一样的了,但是签名依然无效!!
都要疯了~~~
谢谢各位了~~~
哈哈,自己找到了问题所在,这里跟大家分享一下吧。
我的问题主要是二次分享时签名就会无效,原因就是二次分享的连接被微信加上了参数,有两个(或者更多),这样二次分享的url就变成了www.8-yi.com/passby/index.html?from=singlemessage&isappinstalled=0
注意这里的&符号,由于我使用的是get方法,这样服务端接收到的url就会丢失&后面的字符,所以导致url不正确,进而导致签名无效。
解决方法也很简单,就是在传递参数之前把这个字符转成编码,像这样:
var targetUrl = location.href.split('#')[0];
targetUrl = targetUrl.replace('&', '%26');
就可以了
收藏学习了。。。。。。。。。。。。
如果进入就报invalid signature错误怎么解决,用的是官方的jssdk和sample文件,微信的测试号appid和appSecret
地址不能是www.sxsxsx/aad/
一定要吧地址写完整,index.php, 不然就会出现问题,而且是很难发现的这个致命错误
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
invalid signature_php,javascript - 微信接口调用一直是 invalid signature相关推荐
- 微信接口开发报错invalid credential, access_token is invalid or not latest hint
微信接口凭证access_token一定要全局管理 我们的查酒后台集成了微信公众平台的客服API接口,不用登录微信公众号的后台就可以直接给用户发送消息.最近,运营的同事反馈,通过微信查酒,后台无法直接 ...
- 微信接口调用返回码一览表
微信返回码一览表: 返回码 错误码描述 说明 40001 invalid credential 不合法的调用凭证 40002 invalid grant_type 不合法的grant_type 400 ...
- html怎么调用微信api接口,JFinal Weixin 学习笔记(6)-- 获取微信接口调用凭据
利用 AccessTokenApi 获取 access_token access_token 是公众号的全局唯一票据,公众号调用各接口时都需使用 access_token. jfinal-wein 提 ...
- 微信接口调用权限报: 48001, api unauthorized hint
问题场景,调用微信创建卡包接口出现:api unauthorized hin,一看就是权限的问题,查看微信公众号是已经认证的但是还是接口权限没有,然后突然想起来没微信接口也有个权限所以........ ...
- 微信接口调用频次限制说明
接口调用频次限制说明 公众号调用接口并不是无限制的.为了防止公众号的程序错误而引发微信服务器负载异常,默认情况下,每个公众号调用接口都不能超过一定限制,当超过一定限制时,调用对应接口会收到如下错误返回 ...
- 微信接口调用 ---ACCESS_TOKEN
开始尝试一点点微信企业号的开发,目前的要求的开发的第三方软件可以直接通过微信扫码直接登录. 尝试第一步吧,理解一下,微信的开发文档中url怎么用. 刚开始接触是尝试主动调用,获得Access_Toke ...
- C# 关于调用微信接口的代码
之前公司下达了开发微信只一块的任务,然后我就去网上取了一番经,可是感觉对于我这种微信开发的新手来说,所需要的东西太多,太凌乱了,然后整个人就懵逼了. 费了很长时间才将微信接口调用完成.所以呐,我整理了 ...
- 11 公众号开发 - 获取接口调用凭据
access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.开发者需要进行妥善保存.access_token的存储至少要保留512个字符空间.access_to ...
- java获取微信的通讯录,java微信开发API第三步 微信获取以及保存接口调用凭证
微信如何获取以及保存接口调用凭证,下面就为大家进行介绍 一.说明 *详细说明请参考前两篇文章. *本文分为三部分: 接口调用凭证access_token的作用以及解释 如何获取接口调用凭证access ...
最新文章
- 关键任务应用程序依赖于故障保护存储器
- Angular 富文本编辑之路的探索
- AAAI 2020放榜,8800篇提交论文创纪录,接收率20.6%
- 不同版本Eclipse对JDK版本要求
- Oracle优化01-引起数据库性能问题的因素
- java 异常抛出 顺序_java异常抛出时间顺序
- zabbix4.2学习笔记系列
- pycharm cpu占用低_AMD的CPU游玩2077提升帧数的办法
- [Ext JS 7 ]7.5 自适应配置 - Responsive Configs
- JSP三大指令、七大动作、九大对象
- java楼盘管理系统_javaweb房产信息管理系统
- 术语-PM:PM/项目管理 百科
- 四非到保研厦大,我们还有多少路要走----技术人的保研之路
- 关于批量下载MODIS数据的坑
- python初级学习
- 首份财报营收增长扭亏为盈,为何怪兽充电的出路依旧“迷雾重重”
- cdn刷新api_缓存刷新与查询
- error C4189
- 微型计算机中的数据总线用来进行什么的传输,汽检2011级汽车车载网络复习题答案...
- hive修复多级分区
热门文章
- tmux 上滚_实践中的tmux:回滚缓冲区
- 管理R包——Pacman包介绍
- 深入理解html5:语义,标准与样式pdf,深入理解html5语义标准与样式.doc
- python3.6串口编程实例_使用python3实现操作串口详解
- Python getattr() 函数
- Web前台传对象字符串到后台并让后台反序列化对象字符串的方法(ASP.NET) json对象和字符串的转换
- 【完整版-斯坦福-密码学】全13讲(绪论)【笔记】
- excel公式:用countif、match、index合并同类项
- Matlab--二次多项式曲面拟合
- Servlet文件下载模板