说明

微信公众号获取openid,在官方文档中称为网页授权,授权有两种scope,snsapi_base和snsapi_userinfo,snsapi_base是静默授权,不需要用户同意,以下要说的就是静默授权。

关于网页授权的两种 scope 的区别说明
以snsapi_base为 scope 发起的网页授权,是用来获取进入页面的用户的 openid 的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
以snsapi_userinfo为 scope 发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户 OpenID 来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。

步骤

获取openid的步骤是固定的,在此过程中要填入公众号的appid、appSecret

  1. 微信中请求https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect ,注意填入appidredirect_uri
  2. 微信会请求上一步填写的redirect_uri(此时的redirect_uri相比较上步填写的redirect_uri多了code),比如http://mydomain.com?myparam=myvalue&code=xxx,redirect_uri中的域名要在公众号管理平台配置,微信公众管理平台,开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息 的配置选项中,修改授权回调域名,注意是域名而不是url,比如是www.qq.com,而不是http://www.qq.com,详情请参考官方文档
  3. 开发者服务器收到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流程相关推荐

  1. php微信获取openid_微信公众号获取openid(php实例)

    微信公众号获取openid 公众号获取openid的方法跟小程序获取openid其实是一样的,只是code获取的方式不一样 小程序获取code: 用户授权登录时调用wx.login即可获取到code ...

  2. 微信公众号获取OpenId(未授权)(需要关注公众号)

    文章的一开始,我先解释下微信公众号的openId. openId是微信对于用户的唯一辨识,只要有用户关注你的公众号,微信会通过公众号和用户微信号通过一种算法生成一种唯一标识码,也就是openId,用数 ...

  3. JAVA版微信公众号获取openId,微信用户信息

    一. 前端页面js 1.获取页面传来的数据 function GetQueryString(name) {var reg = new RegExp("(^|&)" + na ...

  4. 微信公众号获取openid(java后端+html实现)

    准备工作: 1.认证通过的微信公众号 2.获取微信公众号的appid和secret 3.配置回调地址:开发>接口权限>网页服务>网页授权>修改 该示例为用户静默状态下获取ope ...

  5. 微信公众号获取openid(vue)

    export default {created () {this.page= (this.getUrlParam("page")===null)?this.getUrlParam( ...

  6. 微信公众号获取openid失败

    前提:微信公众号设置中的"网页授权域名"已经配置好. 现象:获取code成功,但是通过code获取openid失败,报错 : {"errcode":40029, ...

  7. 微信公众号获取用户openId(扩展:小程序获取openId和手机号)

    微信公众号获取用户openId 拼接的参数[可以直接配菜单中]: https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxb2363dd ...

  8. 前端对接微信公众号网页开发流程,授权对接

    前面讲到 前端对接微信公众号网页开发流程,前期配置,本篇文章主要详细介绍关于公众号的授权对接. 一.引入微信js-sdk 在需要调用 JS 接口的页面引入如下 JS 文件 http://res.wx. ...

  9. 微信公众号获取用户头像的踩坑经历

    微信公众号获取头像有两种方式 1.用户无感知的,静默授权 snsapi_base 2.需要用户需要点击确认的 snsapi_userinfo 官方文档 我用的是第二种 开发步骤 1.引导用户进入授权页 ...

  10. vue微信公众号授权开发流程

    vue微信公众号授权开发流程 项目采用的是vue2.0开发的,还未更新到vue3.0.项目描述:只有通过微信授权登录,不需要绑定手机号. 1.注册公众号,这个不多说了 2.配置公众号 在[公众号设置] ...

最新文章

  1. Session和几种状态保持方案理解
  2. java---数字排序
  3. SAP内存 和 ABAP内存 的简单介绍说明
  4. CSS HACK 区别 IE6、IE7、IE8、Firefox兼容性
  5. 《SAS编程与数据挖掘商业案例》学习笔记之十四
  6. java 将要死亡_人在即将死亡的时候,能意识到自己将要死亡了吗?科学家给出答案...
  7. 有缘网分布式爬虫案例2
  8. IIS7.5 配置MVC3.0 伪静态,不能访问html伪静态页面
  9. python api调用 验证码_Python调用创蓝253短信验证码API文档
  10. 中国机械压力机市场趋势报告、技术动态创新及市场预测
  11. VS2010 MVC的 安装
  12. 访问swagger2时出现空白页
  13. DRAM学习---1
  14. PC机上常用 EDA 软件
  15. 医疗管理系统(Java毕业设计-Springboot项目)
  16. 初探强化学习(7)基于模型的强化学习的应用综述
  17. 制作excle报盘模板
  18. python如何提取数据中的年月_Python数据处理笔记——Pandas时间数据提取处理
  19. 【mysql新加不了中文】Error Code: 1366. Incorrect string value: ‘\xE7\xBA\xB8\xE7\xB1\xBB‘ for colum
  20. 苹果微信浏览器html缓存图片吗,h5清理微信浏览器网页缓存

热门文章

  1. [笔记分享] [Camera] 相机的flash led功能小结
  2. 分布式任务调度平台XXL-JOB
  3. 扩容卡检测(win下,能作为参考)
  4. 雨笋教育干货分享:0day漏洞利用及抓取的姿势
  5. html隐藏safari地址栏,怎么隐藏 iOS Safari 打开网页时的地址栏和工具栏探索
  6. LAMP兄弟连的兄弟们都该看看!(绝非欺骗)
  7. 计算机物理仿真,仿真物理实验室初中完整版
  8. 板簧的弹性系数如何计算_滑板式钢板弹簧悬架变刚度计算方法的研究
  9. PS三种切图方式,干货满满,不看绝对后悔
  10. 计算机辅助制造相关的技术,什么是PCB制造中CAM或计算机辅助制造技术?