JS-SDK使用权限签名算法

2024-07-29 18:35:03 浏览数 (2)

JS-SDK使用权限签名算法

最近项目开发到公众号这块,在获取用户地址这一块遇到了两个比较容易忽略的问题,我觉得有必要记录一下问题如下, 1,获取jsapi_ticket 一直code=40001 2,获取access_token返回错误码:40164 说明

第一个问题主要是由于我们转递给微信的access_token错误造成的,而第二个问题又是因为我们的后台设置问题造成的。

代码语言:javascript复制
先说第一个问题

上截屏

从上面微信的官方文档上我们知道,获取jsapi_ticket是需要调用微信的地址

代码语言:javascript复制
https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

我们要转递的就是access_token;而这个参数又没有说清楚,所以造成了我上面说的问题1 获取access_token参数是有两个微信提供的接口可以获取的

第一个是通过code换取网页授权access_token

代码语言:javascript复制
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

第二个开发者自己的开发者id,开发者密码(我们要选择第二种)

代码语言:javascript复制
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

我们主要要携带的参数有两个

代码语言:javascript复制
第一个:appid
第二个:secret
参数下面截屏已经圈出来了

所以到此第一个问题40001算是解决了。

现在我们来说第二个问题

解决了上面第一个问题,我们就要去调用官方的接口引起的

代码语言:javascript复制
https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

造成我们第二个问题主要是我们ip白名单的问题,是因为微信官方的“获取access_token”接口新增IP白名单保护 解决方案

代码语言:javascript复制
设置ip白名单,注意!!!设置的ip必须是备案过的,否则也不行

参考官方手册:https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1495617578&version=1&lang=zh_CN&platform=2&token=1893474088

到此两个问题全部解决了。

体会: 遇到问题一定要冷静思考,如果一直解决不了可以换个思路试试,但是千万别放弃了,因为这个时候可能你就要接近问题的根源了,马上就能解决了,所以在坚持一会就行了。还有千万别绕开问题,不解决根源,下次遇到类似的又要浪费很多时间。

0 人点赞