美文网首页
获取微信openid

获取微信openid

作者: 2894ab72509d | 来源:发表于2018-09-20 09:56 被阅读52次

    微信官方文档写的还是蛮细致的,稍微有点坑 ->  微信文档

    步骤跟微信一致

    第一步:获取code

    动态拼接url,或者写死都可以

    https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

    1、appid就是公众号平台的appid

    2、redirect_uri 授权回调地址,设置这个之前得先去微信公众号平台的后台设置 网页授权域名

    回调地址就是这个域名下的

    比如网页授权域名是  www.baidu.com

    回调地址就必须是  www.baidu.com开头的,比如 www.baidu.com/wx/notify

    并且拼接的时候redirect_uri 必须encode不然微信会报错

    3、response_type  参数等于code   写死的

    4、scope有两种参数:

    snsapi_base   不需要用户授权,只能拿到openid

    snsapi_userinfo  需要用户授权,可以拿到更多的信息

    5、state 微信的一个可以带自己设置的参数的字段

    具体写法是  你的字段#wechat_redirect

    #wechat_redirect是写死的,可以带一些参数到回调地址

    第二步:获取微信openid

    只要用户调动了前面生成的url,就会前往授权页面,如果授权成功,微信就会调用你所填写的回调地址

    并且携带code和state这两个参数

    code用来获取openid,state就是你所带的参数,用于做判断

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

    这个url是获取openid的url

    1、appid就是公众号平台的appid

    2、secret就是公众号平台的secret

    3、code微信传递过来的code

    4、grant_type 写死的,参数就是authorization_code

    调用成功后,微信就会返回很多参数,其中就有openid,到这一步就算结束了,

    如果前面的scope设置的是snsapi_userinfo ,还可以进行下一步,直接获取微信用户信息

    https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

    这个是获取用户信息的url

    1、access_token这个是https://api.weixin.qq.com/sns/oauth2/access_token这个接口返回的,也就是上面获取openid的接口,

    2、openid 上面可以获取到

    3、lang 写死的参数zh_CN

    返回的参数如下图所示

    微信有点坑爹,授权完之后直接跳转的是回调地址页面,但是回调地址页面又是一个接口,返回的只有json数据,我的解决办法就是重定向到一个页面,并且在url拼接web端需要的值,例如nickname(微信的昵称)

    相关文章

      网友评论

          本文标题:获取微信openid

          本文链接:https://www.haomeiwen.com/subject/mcdgnftx.html