获取微信用户openid

附上开发文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

开发之前,准备事项

  1. 一个已认证过的服务号|
  2. 基本信息配置
  3. js域名和网站授权域名配置
  4. 最后确认当前账号网页授权功能是否开通,没有开通的无法获取到用户授权
  5. 开发人员可能需要在"设置与开发-开发者工具-web开发者工具"里面帮顶一下开发者微信号

用户同意授权,获取code

1、准备好appid,就是上面第二步的appid,

2、还有微信授权完成之后的展示页面地址,这个地址要通过urlEncode 对链接进行处理,可以在这个网站进行转换UrlEncode编码/UrlDecode解码 - 站长工具

第一步微信开发者工具中打开下面链接

javascript 复制代码
//appid REDIRECT_URI 替换为自己的
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

授权之后,会跳转到redirect_uri页面,同时,在redirect_uri链接后面会拼接上**?code=011mb2Sy1FSZS90KSsUy1Su9Sy1mb2SP&state=1** **(这里为举例)**里面的code就是我们需要的。

通过code换取网页授权access_token

javascript 复制代码
//这里的CODE就是第一步返回链接后拼接的CODE
//SECRET是公众号的appsecret
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

在浏览器中输入上面的链接即可得到用户的openid等等信息。

上面开发的步骤总结为已下内容:

|----|------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|---|
| 步骤 | 参数 | 请求链接 | 返回参数 | |
| 1 | appid,redirect_uri 说明:redirect_uri为线上当前页面地址,地址要转码,线上转码地址:http://tool.chinaz.com/tools/urlencode.aspx | https://open.weixin.qq.com/connect/oauth2/authorize?appid=appid\&redirect_uri=redirect_uri\&response_type=code\&scope=snsapi_base\&state=STATE#wechat_redirect 说明:scope为snsapi_base不会调起授权的弹窗 | code |
| 2 | appid,code,secret | https://api.weixin.qq.com/sns/oauth2/access_token?appid=appid\&secret=secret\&code=code\&grant_type=authorization_code | openid |

相关推荐
陈思杰系统思考Jason6 天前
系统思考:自由职业背后的悖论
百度·微信·微信公众平台·新浪微博·微信开放平台
陈思杰系统思考Jason7 天前
系统思考:动态性复杂时代的组织认识
百度·微信·微信公众平台·新浪微博·微信开放平台
WX:ywyy67987 天前
从0到1:付费短剧小程序全栈定制开发实战与避坑指南
微信·小程序·短剧小程序开发·短剧系统开发·短剧app开发·短剧平台开发·短剧平台搭建
陈思杰系统思考Jason8 天前
系统思考:战略定力与组织能力
百度·微信·微信公众平台·新浪微博·微信开放平台
陈思杰系统思考Jason9 天前
系统思考:组织能力持续学习
百度·微信·微信公众平台·新浪微博·微信开放平台
陈思杰系统思考Jason11 天前
系统思考:创办人心智模式与企业规模
百度·微信·微信公众平台·新浪微博·微信开放平台
DokiDoki之父12 天前
边写软件边学kotlin(二)——语法推进
开发语言·微信·kotlin
陈思杰系统思考Jason14 天前
系统思考:心智模式与组织结构
百度·微信·微信公众平台·新浪微博·微信开放平台
陈思杰系统思考Jason16 天前
系统思考:认知边界与组织发展
百度·微信·微信公众平台·新浪微博·微信开放平台
CaracalTiger16 天前
OpenClaw开源项目汇总:Installer一键部署、Moltworker云端方案、钉钉飞书微信接入全指南
微信·开源·aigc·钉钉·飞书·学习方法·业界资讯