昨天让同学帮忙写了一个nodejs来获取openID,但是今天自己调用的时候发现总是报错 尤其是errcode: 48001, errmsg: "api unauthorized等等的错误,首先可以肯定什么api没有授权的其实没有多大关系,还有其他错误missing appid、secret、code其实和报错的代码也是没有多大的关系
接下来谈一下我弄了一晚之后的发现解决方案
var api = " https://api.weixin.qq.com/sns/jscode2session?appid=" + appid + "&secret=" + secret + "&js_code=" + code + "&grant_type=authorization_code";
以上是我后台所调用的接口地址 传入appid、secret、code这些参数
调用之后注意字符串拼接基本上是没有什么问题的了
下面说说我所出现问题的原因
实际上微信调用获取openID的url有以下三种
我同学给我写的第一个,他那边可以用的上,我不行,反而会一直报各种错误,无奈之下捣鼓了一晚,看了很多其他开发者的提问解答,意外之下发现某位开发者改成第三个地址成功了,我也试了一下成功了 就此问题解决
另外和大家分享小细节
就是第三个url的$appsecret&js_code是和前两个$appsecret&code不一样的,写错了会报missing code,其他的问题就是字符串拼接的一些问题我就不细说了
谢谢,确实是第三个和第一个不一样,不一样的地方出了js_code之外,还有前面的URL内容也不一样。