微信网页开发--获取微信用户信息

article/2025/9/19 11:19:52

流程

  1. 用户扫码或者直接点击链接进入我们的入口页面;
  2. 进入授权登录页面,用户点击授权登录按钮;
  3. 微信会自动将我么的网页授权域名后增加参数;
  4. 根据微信给的code去获取当前登录的微信用户的用户信息。

流程图

具体操作过程

1.配置网页授权域名
图1
图2
这里的域名设置只能设置一个,要求就按照微信的操作就可以。由于这个域名还是公司的,所以这里都马赛克处理了。
我们需要确保我们获取了权限
开发–>权限接口–>网页服务–>网页授权
图
2.配置txt路径可以访问
我的项目目录:
图3
微信的要求:wx.qq.com/mp/MP_verify_2poeJ5jQBozaGbNV.txt
我使用的Node.js+Express的框架,可以看这里之前的一些文章Node.js这里有Express的安转和新建项目、路由等。

router.all('/mp/MP_verify_xxxxx.txt', function(req, res, next) {res.sendfile("./wx/MP_verify_xxxxx.txt");
});

当我们在浏览器输入:xxx.cn/mp/MP_verify_xxxxx.txt的时候可以看见里面的信息。这个感觉是微信那边需要验证我们的网页授权域名是否设置正确。
这一步
3.阅读网页网页授权流程
微信网页授权文档大家先仔细看看文档。
- 用户同意获取code
这里我们需要严格的按照微信的要求谁知url路径:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
尤其注意:由于授权操作安全等级较高,所以在发起授权请求时,微信会对授权链接做正则强匹配校验,如果链接的参数顺序不对,授权页面将无法正常访问。这里也就是我在流程介绍里面的第一点介绍的入口页面。
之后会跳转到微信授权登录的页面
图3
点击授权登录按钮之后就会跳转到xx.cn/mp的页面这里我们就可获取到code了。
- 获取用户信息
获取用户信息其实基本都是后台做的事,因为微信不允许我们子啊前台调用微信的接口,不管怎么搞都是跨域,而且微信也说了这个需要在后台操作。
剩下的步骤看文档就很明确了。我的后台代码。

/** 根据code获取微信用户的用户信息*/
router.get('/mp/getUserInfo', function(req, res, next) {var param = req.query || req.params; var code = param.code;var url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' + wxConfig.AppID + '&secret=' + wxConfig.Secret + '&code=' + code + '&grant_type=authorization_code';request(url, function (error, response, access_token_body) {if (!error && response.statusCode == 200) {var access_token_data = JSON.parse(access_token_body); // 获取access_token后 就做缓存// access_token 有效期是7200svar userinfoUrl = 'https://api.weixin.qq.com/sns/userinfo?access_token=' + access_token_data.access_token + '&openid=' + access_token_data.openid + '&lang=zh_CN ';request(userinfoUrl, function (error, response, userinfo_body) {if (!error && response.statusCode == 200) {var userinfo_data = JSON.parse(userinfo_body); res.end(JSON.stringify(userinfo_data));}})}})
});
前台只需要调用 getUserInfo这个接口,传入code就可以获取到了。这里关于 access_token的时效性还没处理。 这里我是直接把微信返回的数据给了前台处理。

最后

至此,微信网页开发–获取微信用户信息就介绍完了。
由于是第一次做微信网页开发,中间遇见过跨域的问题(上面有说为什么跨域),也不知道具体流程是怎样的,基本就是一边踩坑一边总结出来的流程。


http://chatgpt.dhexx.cn/article/pOIHfuwp.shtml

相关文章

微信网页开发(4)--使用JSSDK基础接口

点此查看 微信公众号/微信网页/微信支付/企业微信/小程序开发合集及源代码下载 本文目录 1. JSSDK接口2. 基础接口3. 开发流程3.1 绑定域名3.2 引入JS文件3.3 通过config接口注入权限验证配置3.5 调用基础接口 4. 小结 1. JSSDK接口 微信提供了很多JSSDK接口,包括基…

微信网页开发(8)--地理位置接口

点此查看 微信公众号/微信网页/微信支付/企业微信/小程序开发合集及源代码下载 本文目录 1. 背景2. 代码3. 测试 1. 背景 微信网页提供了获取当前地理位置经纬度,以及通过内置地图查看当前位置的接口。 官方接口说明如下: // 获取位置 wx.getLocation…

微信公众号开发——2、微信网页开发

第一部分、为公众号菜单嵌入网页 一、关键参考文档 微信JS-SDK说明文档 。 二、编辑模式嵌入网页 在公众号平台下,自定义菜单,添加菜单,并选择菜单内容跳转到指定页面地址即可(需认证后方可添加页面地址,个人账号暂不…

微信网页开发配置整理

真是人越大记忆越差,断断续续做了几个微信小程序和微信h5项目,然鹅小程序的开发流程有些都忘了,最近刚做完一个微信h5网页开发的项目,所以赶紧记录下开发中需要注意的点,给自己往后回顾,同时也给第一次接入…

微信网页开发调试的一些方法

1. 微信开发者工具调试 微信开发者工具下载 不过多介绍, 下载安装, 就能开始小程序开发和公众号网页开发. 2. 微信内自带调试 微信内打开网页 http://debugx5.qq.com (仅支持Android微信) 打开下面两项,就可以调试了 3. 使用vConsole插件 1. 下载vConsole插件…

前端对接微信公众号网页开发流程,前期配置

微信公众号网页开发,其实就是我们开发的h5网页需要放到微信浏览器环境中使用,但是需要对接公众号授权,授权之后可以获取到用户的个人信息,以及可以使用公众号提供的一些API,如:图片上传、图片预览、获取位置信息、微信…

微信网页开发(3)--微信网页授权

点此查看 微信公众号/微信网页/微信支付/企业微信/小程序开发合集及源代码下载 本文目录 1. 什么是授权2. 两种授权方式3. 网页授权access_token和普通access_token4. 网页授权流程5. 网页授权代码开发5.1 项目搭建5.2 修改配置文件5.3 开发启动类5.4 开发公众号配置类5.5 开发…

微信网页开发:微信内h5使用wx-open-launch-weapp打开小程序,微信内h5使用wx-open-launch-app打开App的方案

需求场景: 当我们需要使用在微信客户端打开的h5页面,在页面上打开微信小程序或者唤起App时,我们需要使用微信js-sdk提供的开放标签能力。这其中:使用wx-open-launch-weapp标签打开微信小程序;使用wx-open-launch-app跳…

算法分析与设计 二分查找

算法分析与设计 二分查找 二分查找的基本概念 ​ 二分查找是一种在有序数组中查找某一特定元素的查找算法。这种查找方法将查找的时间复杂度从原本的线性时间提升到了对数时间范围,大大缩短了搜索时间。 ​ 二分查找的基本思想是:在查找过程从数组的中…

C语言二分查找

我们常常需要对数据进行查找,修改,查找数据有许多方法,我们先看看最简单的顺序查找 int main() {int i, k 0;scanf("%d", &k);int arr[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };int sz sizeof(arr) / sizeof(arr[0]);for (i…

二分查找【详解】

本期介绍🍖 主要介绍:二分查找的简单思路,为什么必须在有序的前提下才能使用二分查找,该怎么用C程序来实现二分查找,二分查找的局限性👀。 目录🍖 简单思路前提条件编写程序总结 简单思路&…

二分答案

二分答案 总所周知,二分法查找一个数的时间复杂度为O(log n),所以在int范围内找一个数最多只需要30余次,在longlong范围内最多也只需要60余次。因此,我们可以利用二分这一优势查找答案。即,每次二分后判断该数是不是满…

初探二分算法

又来算法了~~~~ 😃😃😆😆😃😃😃😆😆😆👀👀😆🤔 什么是二分算法? 在计算机科学中,二分…

二分(数学背景,边界问题,二分查找,二分答案)

二分法的数学背景 目的 关于二分法的目的,这里引用同济大学数学系出版的《高等数学》第七版上册中关于二分法的相关内容。(文段内容多,要有一点耐心~) 在科学技术问题中,经常会遇到 求解高次代数方程或其他类型的方程的…

二分模板介绍

以一个典型例题来介绍二分法的两个通用模板,熟练掌握这两个模板可以解决绝大部分二分的问题。 例题:ACWing 789.数的范围 给定一个按照升序排列的长度为n的整数数组,以及q个查询。 对于每个查询,返回一个元素k的起始位置和终止…

二分算法详细解析

二分 有单调性一定可以二分,可以二分不一定有单调性二分的本质是边界不是单调性(单调一定可以二分,不单调的有的也可以二分) 本质:在一个区间上,找到某种性质,每次可以将区间一分为二(存在边界)…

一篇文章带你搞懂二分

一篇文章教你搞懂二分 二分整数二分实数域上二分二分查找二分答案 二分 到底什么是二分呢?二分二分就是一分为二。简单来说二分就是在有序序列中,通过不断的二分,进而不断地缩小范围去寻找满足我们条件的解。这只是对二分一个狭义上的理解&a…

深入字节版atop: 线上系统的性能监控实践

背景 atop 是一款开源的单机性能监测工具,支持实时观测的同时、也支持读取历史文件排查问题。另外一个优点是除提供 CPU、MEM、DISK 等全局指标外,还提供进程、线程级别的各项指标监控数据。鉴于 atop 的这些优点,字节跳动基于社区的 atop 进…

atop备忘

atop 安装 sudo apt install atop atop 参数说明 监控界面字段说明 ATOP列:该列显示了主机名、信息采样日期和时间点 PRC列:该列显示进程整体运行情况 sys、usr字段分别指示进程在内核态和用户态的运行时间 #proc字段指示进程总数 #zombie字段指示僵…

atop linux,每天学一个 Linux 命令(117):atop

命令简介 atop 命令是一款监控 Linux 系统资源与进程的工具,非内部命令,需要安装。[rootcentos7 ~]# atop -bash: atop: command not found [rootcentos7 ~]# yum install atop -y #Debian && Ubuntu apt-get install atop #Fedora dnf install …