美文网首页
微信的openID、unionID等总结

微信的openID、unionID等总结

作者: 泡腾片吧 | 来源:发表于2018-11-01 14:20 被阅读0次

    结论:同一用户,对同一个微信开放平台下的不同应用,unionid是相同的

    用处:用unionID关联同一个微信开放平台帐号下移动应用openID、网站应用openID和公众帐号(包括小程序)openID,维护自己的用户


    获取unionID的4种方式:

    1、调用接口 wx.getUserInfo,从解密数据中获取 UnionID。注意本接口需要用户授权,请开发者妥善处理用户拒绝授权后的情况。

    2、如果开发者帐号下存在同主体的公众号,并且该用户已经关注了该公众号。开发者可以直接通过 wx.login + code2Session 获取到该用户 UnionID,无须用户再次授权。

    3、如果开发者帐号下存在同主体的公众号或移动应用,并且该用户已经授权登录过该公众号或移动应用。开发者也可以直接通过 wx.login + code2Session 获取到该用户 UnionID ,无须用户再次授权。

    4、小程序端调用云函数时,当满足 UnionID 获取条件时可在云函数中通过 cloud.getWXContext 获取 UnionID

    参考:UnionID 机制说明


    以小程序里面为例,上图:

    小程序中openID、unionID、session_key获取逻辑

    服务器常用的API:

    code2Session ,参数appid、secret、js_code、grant_type='authorization_code',请求地址:

    GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

    下发小程序和公众号统一的服务消息,参数access_token、openid、mp_template_msg,请求地址:

    POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=ACCESS_TOKEN

    access_token,参数grant_type=client_credential、appid、secret,请求地址:

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

    相关文章

      网友评论

          本文标题:微信的openID、unionID等总结

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