微信登录报40001错误的原因

今天要做微信端登陆,需要获取用户的unionid,但是不管怎么搞都是报40001的错误

["errcode"] => int(40001)
["errmsg"] => string(81) "invalid credential, access_token is invalid or not latest hint: [S1nzBA08262556!]"

百度了很多都没有解决问题,直到最后才发现微信其实有两个access_token, 
一个是网页授权access_token 
一个是接口基础调用access_token, 
而获取用户unionid的接口需要的是接口基础调用access_token,之前都是在拿网页授权access_token调用,所以一直报错

 

 

微信有2个ACCESS_TOKEN,

  1,基础接口的token 获取接口是  获取unionid 要用 基础接口的token

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

  2,用户网页授权access_token 获取接口地址是

  https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

  网页授权access_token 需要通过code去获取

 

2个区别,一个需要用户点击授权,一个需要要用户点击授权

posted @ 2020-08-05 14:39  Microtiger  阅读(3255)  评论(0编辑  收藏  举报