小程序openid和unionid

这篇具有很好参考价值的文章主要介绍了小程序openid和unionid。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

开发者可通过OpenID来获取用户基本信息。特别需要注意的是,如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的

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

微信开放平台

提到unionid就不得不提微信开放平台了

open.weixin.qq.com 微信开放平台,刚开始是为了让开发商,可以支持很多的公众号,而产生的。原因是使用appid和appsecret的方式对于。小程序或公众号的所有者来说太危险,相当于暴露了用户名和秘密。为了安全,出现了开放平台,授权时可以灵活的控制授予哪些权限。开放平台相比appid和appsecret方式还有很多特权。对于开发者是很好的。

注意事项

官方的说明比较简单,开发过程中会遇到不少的坑。下面说一下注意事项

公众号开发时只有用户关注了公众号,才可以获取到unionid。如果用户不关注或取消关注公众号,是无法获取unionid的。

必须将公众号或小程序绑定到开放平台才可以获取unionid

进入开放平台,点管理中心。可以看到移动应用、网站应用、公众账号、小程序、第三方平台这些菜单。

如果要绑定公众号就,点击公众账号菜单,然后点击绑定公众号,填写公众账号、密码、验证码,点下一步,然后需要管理员扫码。之后就绑定了。

小程序的流程也差不多。

一个公众号或小程序只能绑定一个开放平台

这与unionid的生成机制有关,unionid是用户与开放平台之间的对应关系,如果绑定多个会造成混乱。

unionid的值不同

第三方开放平台,开发过程中会遇到,同一个用户,在两个公众号下,获取到的unionid不同的情况。这种情况发送的原因是,两个公众号绑定到了不同的开放平台账号造成的。

为什么需要openid

微信小程序的开发过程中,往往需要将用户信息录入自己的数据库中,就得有一个唯一标记区分用户,这个标记就是openid。当一个用户使用了某个微信小程序,微信后台会产生一个openid,并且是唯一的,所以可以通过这个来区分用户。

另一方面,我们通过微信小程序API并不能获取到更多用户私密信息,只能获取到昵称,性别,居住地等公开的信息,微信号这种私密信息是获取到的,而通过这些昵称或者居住地,是没办法保证用户表里的用户数据是唯一的。

所以综合而言,如果不需要建立自己的用户数据库,就没必要使用openid;如果需要,就得获取openid。

顺便说一下,还有一个unionid的东西存在。现在同一家开发公司甲,既有微信小程序A,又有微信公众号B,都是用同一个开发平台账号开发的。

如何获取openid

获取openid主要是两个步骤

  1. wx.login()得到code

  1. 通过code以及appid,secret 得到openid

6

获取用户信息

既然要获取openid,那肯定就是要将用户录入数据库,那肯定也要获取用户信息。目前能通过wx.getUserInfo获取到的用户信息是例如昵称、性别这一类的公开信息。

1、用户授权

获取用户信息需要用户授权,那怎么授权呢?以前可以一进入页面就弹出授权框,现在不提倡了,文档建议使用button,设置open-type来授权。

如下代码,点击button,如果没有授权会弹出授权框,如果拒绝了,那个e.detail.userInfo就是false,会执行else里代码块,如果接受,则执行if为true的操作;如果之前就已经有授权了,就不会弹出授权框,直接执行if为true的操作。

在开发时候,可以在开发者工具上方,点击“清缓存”按钮,这样就可以清除以前的授权信息,得重新授权。

2、获取用户信息

获取用户信息比较简单,调用wx.getUserInfo即可,这一块应该没什么好说的。文章来源地址https://www.toymoban.com/news/detail-487895.html

到了这里,关于小程序openid和unionid的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序中wx.login()获取到的openid、unionid、session_key含义及用处

    openid: 微信公众平台对用户的唯一标识 unionid: 同一个微信开放平台下的用户唯一标识 session_key: 会话密钥 可理解成1个微信用户打开1个微信公众号大门的唯一的1把钥匙 同一组织(企业)注册的不同类型公众平台,被看作是多个不同的账号 所以,当小明同学同时注册了统一企业的

    2024年02月02日
    浏览(43)
  • Java获取微信小程序code获取openid、session_key、unionid,获取授权信息解密获取手机号

    WechatUtils (具体实体类自己根据自己的业务需求配置就行) service impl实现类 👆这个代码已经可以解析出code信息,具体的业务流程自己去添加就ok 还是我们之前的WechatUtils,在里面添加getPhone方法 service impl实现类 👆以上就是本次的笔记了,大家有需要用的自取,有用记得点个赞

    2024年02月16日
    浏览(47)
  • uniapp获取小程序openid

    小程序开发时, 用户使用小程序须要受权, 这时就要用到openid进行绑定这个用户。openid是指这个用户在某一个小程序中受权后的惟一标识(好比你的身份证) 步骤一 获取code值 通过uni.login()接口(同理wx.login), 拿到用户的code值(5分钟后失效) 前端代码就是获取uni.login()获取code,用

    2024年02月16日
    浏览(34)
  • 微信小程序获取openId

    在微信小程序中,我们无法直接从客户端获取用户的openid,因为openid是保存在微信服务器上的。但是,我们可以通过微信提供的登录接口,使用用户授权登录的方式获取用户的openid。 具体步骤如下: 1. 在小程序中引入`wx.login`方法,调用该方法会返回一个`code`,这个`code`用于

    2024年02月15日
    浏览(47)
  • 通过小程序获取公众号openid

    需求: 由于小程序不能直接向用户发送模板消息,所以需要用公众号向用户发送模板消息。 于是需要将小程序的openid和公众号的openid绑定在一起。提供两种思路: 方法一: 1.微信小程序和公众号都绑定到微信开放平台上,这样小程序登录获取用户信息的时候可以拿到微信用户

    2024年02月09日
    浏览(36)
  • 微信小程序获取openid流程

    调用wx.login(OBJECT) 获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。 返回数据信息: { errMsg: 调用结果 code: 用户登录凭证(有效期五分钟)。开发者需要在开发

    2024年02月14日
    浏览(43)
  • uniapp微信小程序获得openid

    可以自动获取或点击按钮获取 获取openid 注意:一般都是将code值传到后端去获取openid,因为在前端可能会被抓包或爬取到你的appid和secret,不安全,如果放在后端获取openid,除非你的服务器被攻击了,不然就是安全的。下面的实例是在前端直接获取的,这个明白后,可以直接

    2024年02月06日
    浏览(46)
  • 抓包微信小程序openid的教程

    windows 电脑 1、下载安装Charles,官网版有30天试用。地址:https://www.charlesproxy.com/download/ 或者自行找方法安装该软件即可。 2、打开Charles软件,同时打开微信电脑版并登录。 3、设置 Charles 开启https抓包。点击Proxy - SSL Proxying Settings 在弹出的窗口中,在左侧的 include 中添加 * :

    2024年02月10日
    浏览(59)
  • 微信小程序----API、获取openid、消息订阅

    https://www.w3xue.com/mobile/wxminiapp/hpm41q8p.html 基础: API,全称Application Programming Interface,即应用程序编程接口。 API 是一些预先定义函数,目的是用来提供应用程序与开发人员基于某软件或者某硬件得以访问一组例程的能力,并且无需访问源码或无需理解内部工作机制细节。 API

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包