今天要做微信端登陆,需要获取用户的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个区别,一个需要用户点击授权,一个需要要用户点击授权