微信公众号获取openid流程
说明
微信公众号获取openid,在官方文档中称为网页授权,授权有两种scope,snsapi_base和snsapi_userinfo,snsapi_base是静默授权,不需要用户同意,以下要说的就是静默授权。
关于网页授权的两种 scope 的区别说明
以snsapi_base为 scope 发起的网页授权,是用来获取进入页面的用户的 openid 的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
以snsapi_userinfo为 scope 发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户 OpenID 来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。
步骤
获取openid的步骤是固定的,在此过程中要填入公众号的appid、appSecret
- 微信中请求
https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
,注意填入appid
、redirect_uri
- 微信会请求上一步填写的
redirect_uri
(此时的redirect_uri
相比较上步填写的redirect_uri
多了code
),比如http://mydomain.com?myparam=myvalue&code=xxx
,redirect_uri中的域名要在公众号管理平台配置,微信公众管理平台,开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息 的配置选项中,修改授权回调域名,注意是域名而不是url,比如是www.qq.com,而不是http://www.qq.com,详情请参考官方文档 - 开发者服务器收到
redirect_uri
请求后,请求https://api.weixin.qq.com/sns/oauth2/access_token?appid=${appid}&secret=${appsecret}&code=${code}&grant_type=authorization_code
,就可获得openid,返回参数格式
{"access_token":"ACCESS_TOKEN","expires_in":7200,"refresh_token":"REFRESH_TOKEN","openid":"OPENID","scope":"SCOPE"
}
微信公众号获取openid流程相关推荐
- php微信获取openid_微信公众号获取openid(php实例)
微信公众号获取openid 公众号获取openid的方法跟小程序获取openid其实是一样的,只是code获取的方式不一样 小程序获取code: 用户授权登录时调用wx.login即可获取到code ...
- 微信公众号获取OpenId(未授权)(需要关注公众号)
文章的一开始,我先解释下微信公众号的openId. openId是微信对于用户的唯一辨识,只要有用户关注你的公众号,微信会通过公众号和用户微信号通过一种算法生成一种唯一标识码,也就是openId,用数 ...
- JAVA版微信公众号获取openId,微信用户信息
一. 前端页面js 1.获取页面传来的数据 function GetQueryString(name) {var reg = new RegExp("(^|&)" + na ...
- 微信公众号获取openid(java后端+html实现)
准备工作: 1.认证通过的微信公众号 2.获取微信公众号的appid和secret 3.配置回调地址:开发>接口权限>网页服务>网页授权>修改 该示例为用户静默状态下获取ope ...
- 微信公众号获取openid(vue)
export default {created () {this.page= (this.getUrlParam("page")===null)?this.getUrlParam( ...
- 微信公众号获取openid失败
前提:微信公众号设置中的"网页授权域名"已经配置好. 现象:获取code成功,但是通过code获取openid失败,报错 : {"errcode":40029, ...
- 微信公众号获取用户openId(扩展:小程序获取openId和手机号)
微信公众号获取用户openId 拼接的参数[可以直接配菜单中]: https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxb2363dd ...
- 前端对接微信公众号网页开发流程,授权对接
前面讲到 前端对接微信公众号网页开发流程,前期配置,本篇文章主要详细介绍关于公众号的授权对接. 一.引入微信js-sdk 在需要调用 JS 接口的页面引入如下 JS 文件 http://res.wx. ...
- 微信公众号获取用户头像的踩坑经历
微信公众号获取头像有两种方式 1.用户无感知的,静默授权 snsapi_base 2.需要用户需要点击确认的 snsapi_userinfo 官方文档 我用的是第二种 开发步骤 1.引导用户进入授权页 ...
- vue微信公众号授权开发流程
vue微信公众号授权开发流程 项目采用的是vue2.0开发的,还未更新到vue3.0.项目描述:只有通过微信授权登录,不需要绑定手机号. 1.注册公众号,这个不多说了 2.配置公众号 在[公众号设置] ...
最新文章
- Session和几种状态保持方案理解
- java---数字排序
- SAP内存 和 ABAP内存 的简单介绍说明
- CSS HACK 区别 IE6、IE7、IE8、Firefox兼容性
- 《SAS编程与数据挖掘商业案例》学习笔记之十四
- java 将要死亡_人在即将死亡的时候,能意识到自己将要死亡了吗?科学家给出答案...
- 有缘网分布式爬虫案例2
- IIS7.5 配置MVC3.0 伪静态,不能访问html伪静态页面
- python api调用 验证码_Python调用创蓝253短信验证码API文档
- 中国机械压力机市场趋势报告、技术动态创新及市场预测
- VS2010 MVC的 安装
- 访问swagger2时出现空白页
- DRAM学习---1
- PC机上常用 EDA 软件
- 医疗管理系统(Java毕业设计-Springboot项目)
- 初探强化学习(7)基于模型的强化学习的应用综述
- 制作excle报盘模板
- python如何提取数据中的年月_Python数据处理笔记——Pandas时间数据提取处理
- 【mysql新加不了中文】Error Code: 1366. Incorrect string value: ‘\xE7\xBA\xB8\xE7\xB1\xBB‘ for colum
- 苹果微信浏览器html缓存图片吗,h5清理微信浏览器网页缓存
热门文章
- [笔记分享] [Camera] 相机的flash led功能小结
- 分布式任务调度平台XXL-JOB
- 扩容卡检测(win下,能作为参考)
- 雨笋教育干货分享:0day漏洞利用及抓取的姿势
- html隐藏safari地址栏,怎么隐藏 iOS Safari 打开网页时的地址栏和工具栏探索
- LAMP兄弟连的兄弟们都该看看!(绝非欺骗)
- 计算机物理仿真,仿真物理实验室初中完整版
- 板簧的弹性系数如何计算_滑板式钢板弹簧悬架变刚度计算方法的研究
- PS三种切图方式,干货满满,不看绝对后悔
- 计算机辅助制造相关的技术,什么是PCB制造中CAM或计算机辅助制造技术?