OpenID: 普通用户的标识,对当前开发者帐号唯一。一个openid对应一个公众号。
UnionID :用户统一标识。针对一个微信开放平台帐号下的应用,同一用户的unionid是唯一的。
微信公众号openid
大家好!今天让创意岭的小编来大家介绍下关于微信公众号openid的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。
开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等
只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端
如需咨询小红书相关业务请拨打175-8598-2043,或微信:1454722008
本文目录:
一、微信公众号如何获取openid
http://jingyan.baidu.com/article/60ccbceb07ec4764cbb19768.html
要获取openid,必须要通过OAuth4.0来完成网页授权才能完成的,通过OAuth4.0来完成网页授权后,在经过用户许可后,就可以通过授权页面,获得用户的openid
如何通过OAuth4.0网页授权呢?要先通过申请高级接口功能
申请通过后,还要做一个授权页面,引导用户授权就能获得openid!
二、详解微信公众平台UnionID和OpenID的区别
微信的用户隐私策略:每个接入微信的应用(公众号、APP)就像一个独立的商场,用户使用这些应用就像逛商场,商场用会员卡识别用户,类似的,我们根据商场名字为每个用户生成了一张专属会员卡(openid),每张会员卡只能在对应的商场才能够使用,你不能拿着沃尔玛的会员卡去华润万家积分。这是一种安全的授权方式,如果没有这个会员卡,直接暴露微信号,就相当于拿着身份证去逛商场,丢失一个会员卡号远比丢失身份证号要安全。
那么问题来了,都是万达集团,万达大歌星与万达商场希望做到会员卡通用。微信在这里做了一个打通机制,对于同一个企业,在用户属性里面加了一个企业属性(UnionID),方便同一个企业在不同的产品中识别到同一个用户。
这个机制伴随着微信联合登录已经在微信开放平台(open.weixin.qq.com)推出了。获得了开放平台认证的企业,可以绑定10个手机应用、10个网站、10个公众号,他们对应的用户信息也可以互联互通。
强烈提示:对于开发团队而言,在接入微信登录之初,往往会忽视用户的UnionID,只记录了openid。这会导致后期账号打通时候,需要用户重新授权,运营成本增高,遇到此类问题的团队不在少数。
三、微信公众号开发 - 静默授权获取用户信息
openid 是什么 ,一个微信号与一个公众号对应一个固定不变的 openid 。所以一个微信号在一个公众号下的 openid 是不变的,如果换了一个对应的公众号,那就是另一个 openid 了。且只有在微信自带浏览器中打开的项目才可获取到。
UnionID 是什么 ,如果开发者拥有多个移动应用,网站应用,公众号和小程序,可以通过UnionID来区分用户的唯一性,因为只要是同一个微信开发平台账号下的移动应用,网站应用,公众号和小程序,用户的UnionID是唯一的。换句话说,同一个用户,对同一个微信开发平台的不同应用,UnionID是唯一的。
准备条件, 一个公众号、一个外网可访问的域名、该公众号的 AppID 和 AppSecret 、设置网页授权域名(登陆公众平台 设置----->公众号设置------>功能设置----->网页授权域名 按步骤操作并设置就好),这个域名就是你获取openid的web项目发布的域名,这里注意服务器请一定跑在80端口。
参数解释:
注意事项:
参数解释:
注意事项:
返回结果:
access_token 是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用 access_token 。开发者需要进行妥善保存。 access_token 的存储至少要保留512个字符空间。 access_token 的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的 access_token 失效。
接口说明
参数说明
返回结果
参数解释:
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140839
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183
四、微信公众号获取用户信息
在进行微信公众号开发的时候我们很常用的一个功能就是获取用户的信息。但是获取用户信息的方式有哪几种,我目前用到的有两种。
一种是通过网页授权获取用户信息。一种是通过户和公众号产生消息交互或关注后事件推送后,根据用户OpenID来获取用户基本信息。
要特别注意的有两点:
第一点是两者向微信请求获取用户信息时的地址是不同的;
网页授权请求的“获取用户基本信息接口”接口地址:
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
用户管理类接口中的“获取用户基本信息接口”地址 :
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
第二点是“网页授权”获取用户信息用到的网页授权access_token和普通access_token不同,它可以理解为用户,服务号和微信之间的一个access_token。用户管理类接口中的“获取用户基本信息接口”用到的access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用的access_token。
第一种:网页授权获取用户信息
微信文档地址: 网页授权
关于网页授权的两种scope的区别说明
1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
网页授权流程分为四步:
1、引导用户进入授权页面同意授权,获取code
2、通过code换取网页授权access_token(与基础支持中的access_token不同)
3、如果需要,开发者可以刷新网页授权access_token,避免过期
4、通过网页授权access_token和openid获取用户基本信息
网页授权请求的微信地址:https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
请求的参数:
通过网页授权我们可以获得以下的用户信息:
第二种获取用户信息的方法是调用用户管理类接口中的“获取用户基本信息接口”
文档地址: 用户管理获取用户信息
请求参数:
获取的用户信息:
以上就是关于微信公众号openid相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。
推荐阅读: