• UnionID OpenID


    UnionID 机制说明 | 微信开放文档 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html

    UnionID 机制说明

    如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。

    UnionID获取途径

    绑定了开发者帐号的小程序,可以通过以下途径获取 UnionID。

    1. 开发者可以直接通过 wx.login + code2Session 获取到该用户 UnionID,无须用户授权。

    刷新或续期access_token使用 | 微信开放文档 https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Authorized_Interface_Calling_UnionID.html

    参数 说明
    openid 普通用户的标识,对当前开发者帐号唯一

    unionid 用户统一标识。针对一个微信开放平台帐号下的应用,同一用户的unionid是唯一的。
    建议:

    开发者最好保存用户unionID信息,以便以后在不同应用中进行用户信息互通。

    auth.code2Session | 微信开放文档 https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html

    auth.code2Session

    本接口应在服务器端调用,详细说明参见服务端API

    登录凭证校验。通过 wx.login 接口获得临时登录凭证 code 后传到开发者服务器调用此接口完成登录流程。更多使用方法详见 小程序登录

    请求地址

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

    请求参数

    属性类型默认值必填说明
    appid string   小程序 appId
    secret string   小程序 appSecret
    js_code string   登录时获取的 code
    grant_type string   授权类型,此处只需填写 authorization_code

    返回值

    Object

    返回的 JSON 数据包

    属性类型说明
    openid string 用户唯一标识
    session_key string 会话密钥
    unionid string 用户在开放平台的唯一标识符,若当前小程序已绑定到微信开放平台帐号下会返回,详见 UnionID 机制说明
    errcode number 错误码
    errmsg string 错误信息

    微信开放文档 https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Login/Authorized_API_call_UnionID.html

    获取用户个人信息(UnionID 机制)

    接口说明

    此接口用于获取用户个人信息。开发者可通过 OpenID 来获取用户基本信息。特别需要注意的是,如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的 unionid 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的 unionid 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid 是相同的。请注意,在用户修改微信头像后,旧的微信头像 URL 将会失效,因此开发者应该自己在获取用户信息后,将头像图片保存下来,避免微信头像 URL 失效后的异常情况。

    请求说明

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

    参数说明

    参数是否必须说明
    access_token 调用凭证
    openid 普通用户的标识,对当前开发者帐号唯一
    lang 国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语,默认为 zh-CN

    返回说明

    正确的 Json 返回结果:

    {
      "openid": "OPENID",
      "nickname": "NICKNAME",
      "sex": 1,
      "province": "PROVINCE",
      "city": "CITY",
      "country": "COUNTRY",
      "headimgurl": "https://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
      "privilege": ["PRIVILEGE1", "PRIVILEGE2"],
      "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
    }
    
    参数说明
    openid 普通用户的标识,对当前开发者帐号唯一
    nickname 普通用户昵称
    sex 普通用户性别,1 为男性,2 为女性
    province 普通用户个人资料填写的省份
    city 普通用户个人资料填写的城市
    country 国家,如中国为 CN
    headimgurl 用户头像,最后一个数值代表正方形头像大小(有 0、46、64、96、132 数值可选,0 代表 640*640 正方形头像),用户没有头像时该项为空
    privilege 用户特权信息,json 数组,如微信沃卡用户为(chinaunicom)
    unionid 用户统一标识。针对一个微信开放平台帐号下的应用,同一用户的 unionid 是唯一的。

    建议:

    开发者最好保存 unionID 信息,以便以后在不同应用之间进行用户信息互通。

  • 相关阅读:
    Android webView 缓存 Cache + HTML5离线功能 解决
    android 退出系统
    WebView简介(加速加载篇)
    android 处理Back键按下事件
    android 极细线
    [cnblog新闻]历史性时刻:云硬件支出首次高于传统硬件
    Oracle ORDS的简单SQL配置模板
    [cnbeta]华为值多少钱,全世界非上市公司中估值最高的巨头
    其他数据库的restful方式
    [CB]2018全球半导体营收4700亿美元 三星继续碾压英特尔
  • 原文地址:https://www.cnblogs.com/rsapaper/p/6485117.html
Copyright © 2020-2023  润新知