本人最近要做微信公众号网页开发的项目,其中有个需求是判断用户是否关注公众号,由于之前没有接触过微信授权的东西,所以提前开始做调研。在度娘上看了好多博客、百度知道、百度经验、知乎问答等,还仔细阅读了微信公众平台开发文档,大致了解到:

微信网页授权分两种,第一种是snsapi_base(静默授权,用户无感知),第二种是snsapi_userinfo(第一次授权需要用户点击登录确认)。静默授权只需要两步就能拿到开发者需要的openID,而第二种授权方式,一共需要四步,可以拉取到用户信息(昵称、头像等)。具体过程这里不在赘述,参阅微信开发者文档。

但是,本人发现一个不好的事情,获取到的用户信息里,并没有度娘告诉我的用于判断用户是否关注公众号的字段 subscribe 。然后,继续查阅博客、百度知道、百度经验、知乎问答,其中,有一篇博客让我如获至宝,下面是博客的截图:

然后我就天真的相信,只有在unionID机制下,获取到的用户信息里才会有 subscribe 字段。后来,查看微信公众平台开发文档,其中有一段:

那么,只有把公众号绑定到微信开放平台上才能使用unionID机制。所以自己就注册了一个微信开放平台,要绑定公众号的时候发现,只有完成开发者资质认证才能绑定。但是认证需要:

以上只是一部分。这哪儿是我一个开发能做的事儿啊,所以向项目经理说明了情况,又向技术中心老大申请……,经过了一系列繁杂又不太顺利的流程。最后,让我来注册,需要什么材料找行政要。

当然,在协调的过程中,我也没闲着,咨询了做过微信网页授权的同事,自己也继续翻阅微信开发文档(相当烂)、在本地尝试授权,获取用户信息,最终发现:不需要unionID机制,也能获取用户基本信息,拿到 subscribe 字段。那么正题来了!


微信网页授权并获取用户基本信息(是否关注公众号、头像、昵称等)步骤:  

1、用户同意授权,获取code(使用静默授权即可)

参阅 微信网页授权 第一步

2、通过code换取  网页授权access_token  和 openID(此处的access_token为网页授权过程专用)

参阅 微信网页授权 第二步

3、使用AppId和AppSecret:获取access_token

参阅  获取access_token

4、使用openID和access_token获取用户基本信息

参阅 获取用户基本信息(包括UnionID机制)

最终获取到的用户基本信息如下图:

        

好了,到这里终于拿到了我需要的判断用户是否关注公众号的字段: subscribe 。

饶了这么大圈子,有些感触:微信公众平台开发文档不容易看懂,unionID机制到底是啥,绑定了开放平台才叫unionID机制吗,那我现在这种调接口的方法(并没有绑定微信开放平台)属于unionID机制吗。

再多说一句,其实这些逻辑,绝大部分是在后端完成的(access_token、appsecret安全等级都比较高)。所以,作为前端,只要调接口==》回调地址,再调接口==》得到用户基本信息。

微信公众号开发__微信网页授权并获取用户基本信息(是否关注公众号、头像、昵称等)相关推荐

  1. 用c#开发微信(2)扫描二维码,用户授权后获取用户基本信息 (源码下载)

    本文将介绍基于Senparc.Weixin微信开发框架来实现网页授权来获取用户基本信息.先生成包含授权及回调url信息的二维码:用户用微信扫描之后,被要求授权以获取Ta的用户基本信息:用户授权后,通过 ...

  2. 公众号h5获取手机号权限_微信公众号开发之网页授权(获取用户信息)

    这次暑假留在学校参与工作室的项目,对微信公众号比较感兴趣,所以参与这方面的学习研究. 昨天完成了关于网页授权,获取用户信息方面的功能,所以乘热打铁,写上一篇.实现本篇涉及的 功能,还需要完成一些基础. ...

  3. 微信公众平台开发OAuth2.0网页授权(转)

    微信公众平台开发 OAuth2.0网页授权认证 网页授权获取用户基本信息  作者:方倍工作室 微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在 ...

  4. 微信公众号网页授权,获取用户信息以及openid -- PHP后台

    微信公众号网页授权,获取用户信息以及openid 这几天做项目,想通过公众号的appid获取用户的openid就,然后在网上查资料,问朋友,最后找到了方法,就是这个网页授权. 起初一直很蒙,这个怎么弄 ...

  5. java读取微信消息_微信公众平台开发中使用Java如何实现获取用户的信息

    微信公众平台开发中使用Java如何实现获取用户的信息 发布时间:2020-11-18 15:09:28 来源:亿速云 阅读:93 作者:Leah 本篇文章为大家展示了微信公众平台开发中使用Java如何 ...

  6. vc++6.0获取磁盘基本信息_微信小程序——常用功能2:微信小程序用户登录,申请用户授权并获取用户基本信息...

    微信小程序--常用功能2:申请用户授权并获取用户基本信息 为了更好的用户体验,很多时候我们想要获取用户的基本信息,从而实现将信息呈现到用户界面.给用户划分地域.给用户分类等功能. 但是要想获取用户信息 ...

  7. 微信公众号开发之网页授权认证获取用户的详细信息,实现自动登陆

    原创声明:本文转来源本人另一博客[http://blog.csdn.net/liaohaojian/article/details/70175835]绝非他人处转载 从接触公众号到现在,开发维护了2个 ...

  8. (微信公众号开发《一》OAuth2.0网页授权认证获取用户的详细信息,实现自动登陆)http://blog.csdn.net/liaohaojian/article/details/70175835

    从接触公众号到现在,通过不断积累学习,对如何调用微信提供接口有了一定的见解.当然在开发过程中遇到很多问题,现在把部分模块功能在这备案一下,做个总结也希望能给其他人帮助 工欲善其事,必先利其器,先看看开 ...

  9. 微信公众号开发002-微信网页授权

    1.首先在开发前阅读微信提供的API文档(https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842) 阅读完的我们就知 ...

最新文章

  1. Linux操作系统CentOS7.2发行版本的安装与配置
  2. ML之LightGBM:基于titanic数据集利用LightGBM和shap算法实现数据特征的可解释性(量化特征对模型贡献度得分)
  3. Zoom计划于4月IPO
  4. 数据仓库之电商数仓-- 3.2、电商数据仓库系统(DWS层)
  5. Spring boot集成海康威视门禁设备
  6. 佳能Canon Pixma MX420 打印机驱动
  7. 一图看清美国最具前景的50家人工智能公司
  8. 微信图片盗链php,微信公众号图片如何实现反防盗链接
  9. MongoDB学习笔记之索引(一)
  10. 【Linux云计算架构:第三阶段-Linux高级运维架构】第23章—— Linux手动木马查杀过程
  11. 推荐4个方便实用的软件神器,非常适合程序员
  12. 被面试官问到项目中的难点?是时候对自己的项目进行总结了(记一次项目问题总结)
  13. python关键字匹配_python正则表达式同时匹配多个关键字(多关键字匹配)
  14. wincc 日报表(带注释)
  15. 下厨房某词条下的所有图片爬取
  16. 运营必备九大互联网思维
  17. Ping++ 牵手招商银行,正式为商户开放一网通支付渠道
  18. android edittext 输入法表情,Android开发中EditText禁止输入Emoji表情符
  19. Android 禁止键盘弹出 关闭键盘 禁用键盘 禁用输入法 关闭输入法
  20. 解决Chrome无法自动同步书签

热门文章

  1. 计算机绘图cad2016,帮忙用cad画图计算机绘图线下形考册2016秋
  2. 顺序容器迭代器之鄙见
  3. VMware虚拟机安装黑群晖系统
  4. ICC 图文学习——LAB3:Placement 布局
  5. Linux 常用命令全拼
  6. java接口的的那些事1
  7. 无限级树状图html5,无限树状列表的实现
  8. Java学习day02-数据类型和运算符
  9. Linux简介云服务器环境搭建
  10. 交互设计师修炼指南!教你从零开始成为优秀交互设计师