微信授权时遇到48001的问题

今天分享一下我在授权时48001的解决方法

{“errcode”:48001,“errmsg”:“api unauthorized, hints: [ req_id:1QoCla0699ns81 ]”}

这是由于前端获取code时遇到的问题

 https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URL&response_type=code&scope=snsapi_base&state=base#wechat_redirect

这是由于snsapi_base 不需要用户点同意,直接跳转到授权后的页面,只能用于获取openid,不能获取用户基本信息。
返回的数据为:

{
"access_token":"31_eYQ6_W7sS-Eu1oak7NI-WcErn5CqAV........nMikBvpeS1HecEjrRaFWDwkJY9CRrrrHaZw6UnxjyK7g",
    "expires_in":7200,
    "refresh_token":"31_eYQ6_W7sS-Eu1oak7NI-WcErn5CqA.....DwkJY9CRrrrHaZw6UnxjyK7g",
    "openid":"oYbGRs8MmU6bESxXcX2Z0rFRivjQ",
    "scope":"snsapi_userinfo"
}

此时的openid和accesstoken不能根据https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN获取用户信息

把获取openid和accesstoken那一步的snsapi_base换成snsapi_userinfo就可以了。

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URL&response_type=code&scope=snsapi_userifno&state=base#wechat_redirect
//获取openid和accesstoken
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
//把拿到的openid和accesstoken用来获取用户信息。

你可能感兴趣的:(java)