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

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

        微信网页授权分两种,第一种是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安全等级都比较高)。所以,作为前端,只要调接口==》回调地址,再调接口==》得到用户基本信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/58989.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信公众号使用:给微信公众号自定义菜单中设置查看历史记录的功能

在微信公众号维护过程中,尤其是从微信公众号刚开始运行的时期,在设置自定义菜单的时候,为了让用户能看到和了解发布的微信文章,就涉及到了在自定义菜单中设置查看历史记录的功能。设置这个查看历史记录的功能主要是为了方便用户查看,让用户更好的了解,那么接下来就来讲具…

如何设置微信公众号的测试号的菜单

由于工作需要需要设置公众号的测试号的菜单,没想到查了半天,尽然发现这个菜单栏要写代码实现,小编表示想狗带。在开发小哥哥的帮助下,总算是实现了这个问题。 如何找到公众号的测试号 1、登录微信公众号后台。左边栏最下面找到开…

微信公众号开发(消息推送)

文章目录 微信公众号开发运行效果微信公众号简介注册微信公众号注册测试公众号搭建微信本地调试环境微信公众号接入(校验签名)给指定用户推送消息网页授权获取用户openid给指定用户发送模板信息 微信公众号开发 代码地址 运行效果 微信公众号简介 微信公众号分为服务号、订阅…

【监听微信公众号消息】

监听微信公众号消息 效果图如下:环境要求 效果图如下: 环境要求 需要windows服务器,登陆上微信。获取到的消息是xml格式,需要解析内容获取自己想要的公众号推送的消息。 详情:https://learnku.com/articles/73022

手把手教你如何获取微信公众号用户的个人信息(包括OpenId)

最近,对微信公众号有点兴趣,就自己研究了研究里面的一些内容,发现还挺有意思的,而且通过微信公众号可以调用一些比较有意思的接口,就比如百度开发服务平台 点击进入 里面的很有接口,就比较常见的翻译,语音识别,地理位置等等,都挺好的。好了,不多说,进入正题好了。 我…

关于微信公众号模板消息的调整,你怎么看?

早上起来,有客户反馈,推送的消息出现了问题。 经过测试,确实收到的消息和以前不一样了。 这就比较奇怪了,最近也没有做什么调整,为啥忽然就出问题了呢。 先自己检测测试了一下,发现发送的内容中的头尾部…

免费“白嫖” GPT-4 方法 +1,飙升 GitHub 热榜第二!开发者锐评:跟“偷”有什么区别?

前不久,可“白嫖” GPT-4 的 Forefront Chat 吸引了众多关注,导致该网站一度崩溃,也令不少人发出疑问:“GPT-4 这么贵,为什么它能免费让我们用?” 关于这个问题,Forefront Chat 方面并未做出相…

sipiiiii: 面向小微企业和个人开发者的简单易用应用托管平台

在当前数字化时代,越来越多的企业和个人都需要依赖云端服务来托管他们的应用程序。然而,很多传统的云服务商过于复杂或昂贵,这让小微企业和个人开发者难以忍受。为了满足这些用户的需求,我们推出了 sipiiiii,一个简单易…

云数据库技术沙龙|多云多源下的数据复制技术解读-NineData

摘要:随着数据智能时代的到来,多云多源架构下的数据管理是企业必备的基础设施,我们认为数据存取、数据集成与分发、数据安全与数据质量是基础,也是走向多云多源架构的起点。本议题介绍云原生的多云多源数据管理NineData&#xff0…

论文阅读《Representation learning with contrastive predictive coding 》(CPC)对比预测编码

论文地址:Representation Learning with Contrastive Predictive Coding 目录 一、Background(背景) 二、Motivation and Intuitions(动机) 三、Constrastive Predictive Coding(对比预测编码&#xff…

论文阅读和分析: “How Attentive are Graph Attention Networks?”

下面所有博客是个人对EEG脑电的探索,项目代码是早期版本不完整,需要完整项目代码和资料请私聊。 数据集 1、脑电项目探索和实现(EEG) (上):研究数据集选取和介绍SEED 相关论文阅读分析: 1、EEG-SEED数据集作者的—基线论文阅读和…

论文阅读和分析:Graph Attention Networks

Graph Attention Networks 图注意力网络(GAT) 通过堆叠节点能够关注其邻域特征的层,能够(隐式地)为邻域中的不同节点指定不同的权重,而不需要任何类型的代价高昂的矩阵运算(例如矩阵转置&…

chatgpt赋能python:Python实现屏蔽多行的方法

Python 实现屏蔽多行的方法 作为一位有10年 Python 编程经验的工程师,我深知在实际开发过程中,屏蔽多行代码常常是必须的。在此,我将介绍几种 Python 屏蔽多行代码的方法,希望对读者有所帮助。 方法一:使用注释 在 …

chatgpt赋能python:Python圆柱体的体积计算代码

Python圆柱体的体积计算代码 作为一名具有10年Python编程经验的工程师,今天我来为大家分享Python圆柱体的体积计算代码。在这篇文章中,我将介绍如何使用Python编写一个简单的程序来计算圆柱体的体积,并解释一些关于圆柱体及如何计算其体积的…

让ChatGTP来为我们写一个计算任意位数圆周率的程序

最近在学习python,突然想编写一个计算圆周率pi的程序,可是对python库不是很熟悉,又不会手撸pi的计算函数所以就想起了ChatGPT,想让他来帮帮忙,顺便学习学习,废话不多说,看聊效! &am…

chatgpt赋能python:Python编程教程:如何计算小数点后1000位

Python编程教程:如何计算小数点后1000位 Python是一种高级编程语言,被广泛应用于数据科学、人工智能、Web开发等领域。今天我们来学习如何使用Python计算小数点后1000位。 为什么需要计算小数点后1000位? 在实际应用中,有时需要…

chatgpt赋能python:Python求面积计算的实现方法

Python求面积计算的实现方法 介绍 Python是一种高级编程语言,由于其简单易学,易于编写和调试,以及广泛的功能库,使其成为许多领域中的流行语言。 Python被广泛用于科学计算,数据分析,Web开发,…

chatgpt赋能python:Python计算圆柱体的表面积和体积

Python计算圆柱体的表面积和体积 Python是一种经典的动态编程语言,由于其易学易用,逐渐成为了众多程序员喜爱的语言之一。Python在科学计算领域也非常流行,因为其具有强大且易于使用的数学和统计函数库。在本文中,我们将介绍如何…

chatgpt赋能python:Python数学计算利器-Math库

Python数学计算利器 - Math库 Python作为一种高级编程语言,自然也包含了许多与数学计算相关的库。而其中最为常用的库之一便是Math库。 Math库主要用于执行基本的数学运算,如三角函数、指数函数、对数函数等等。使用Math库可以使Python编程更加方便和高…

chatgpt赋能python:Python计算圆柱侧面积的方法

Python计算圆柱侧面积的方法 圆柱是常见的几何体之一,其侧面积的计算是学习数学和物理时的重要部分。在计算侧面积时,Python是一种常用的编程语言之一,本文将向您介绍使用Python计算圆柱侧面积的方法。 圆柱侧面积的定义 圆柱侧面积是指圆…