今天给大家分享一下 微信公众平台授权登录详解 带图带字 超详解!!!让你少走弯路 少踩坑!!!

首先既然是微信公众平台登录 就要有公众平台的账号(注意:不是微信开放平台)

然后你要去 开发-基本配置 查看你的 开发者ID(AppID) 以及 开发者密码(AppSecret)

这两个信息后面会使用到 而且APPSecret是不再显示的如果需要重置之前的会失效 所以最好自己记录一份以免丢失

然后还需要去 开发-接口权限 查看 网页服务-网页授权是否获取 未获取的获取 未配置的配置

本文默认已获取 已配置 不知道的同学可看我之前的博客 里面有网页授权的讲解 这里不做说明 略过

以上前期准备准备好之后 开始正题

一 用户授权并获取code

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

注意标红的四个参数 APPID填写你公众号里的appid;REDIRECT_URI 这个注意了不是直接填你的授权地址 而是需要urlEncode处理之后的地址附上官方参数说明小伙伴们自己看下

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN

举个例子

比方你自己授权验证后的地址是www.baidu.com/wechat 经过转换后 就是 www.baidu.com%2Fwechat这种样子的 不带斜杠的附上同款装换连接:http://tool.oschina.net/encode?type=4

SCOPE 这个参数是应用授权作用域的 这个千万别看官方提供的填snsapi_login又是一个大坑

应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息)

所以本文只推荐使用 snsapi_userinfo将参数换成这个即可

STATE这个没什么特别的 可以随便填主要是用来返回的时候带给你 以防被攻击的 爱咋填咋填

正确填写完请求后 请求会给你填写的redirect_url发出一个get请求 注意是get并带过来两个参数 一个code一个state state就是看是否一致 这个不重要 我们只要关心code即可 如果出现问题说明你的公众号可能还没有授权的网页 或者是连接参数顺序不对 填写错误 一定要严格按规则填写

二 使用code换取access_token和openid

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

这里有三个参数要填 前面两个参数就是最开始讲的开发者的那两个参数 第三个code就是我们刚刚获取到的code 发起这个请求我们可以得到

获取到access_token和openid之后 我们也就能获取到用户的基本信息(昵称 头像)

三 获取用户基本信息

https://api.weixin.qq.com/sns/userinfo?access_token=TOKEN&openid=OPENID

也是和之前一样的操作 填写获取来的token和openid即可 得到如下参数

这里还有一个坑 这微信登录坑是真的多啊 一步一个坑 昵称那还是乱码 原因是因为微信传回来的时候编码是 IOS-8859-1的还要自己去把他转成UTF-8 如果你本来就是用ISO-8859-1的当我没说

总结微信登录 主要要申请的准备的东西比较多 细小的地方坑也多 没有太难的地方 获取到access_token和openid比较重要 获取到用户基本信息之后 就可以自由操作了。

微信公众平台登录 超详解 Springboot版相关推荐

  1. 微信公众平台万能代码详解-php语言(二)

    1.基础知识在上一篇地址有讲解和图片,内容大致包括微信开发者模式后台配置.微信公众开发者文档代码详解. 2.本篇将粘贴出包括所有类型在内的消息处理办法,在开发者模式下用代码完成所有编辑模式的基础内容. ...

  2. 微信公众平台java开发详解(工程代码+解析)

    说明: 本次的教程主要是对微信公众平台开发者模式的讲解,网络上很多类似文章,但很多都让初学微信开发的人一头雾水,所以总结自己的微信开发经验,将微信开发的整个过程系统的列出,并对主要代码进行讲解分析,让 ...

  3. 微信公众平台java开发详解

    说明: 本次的教程主要是对微信公众平台开发者模式的讲解,网络上很多类似文章,但很多都让初学微信开发的人一头雾水,所以总结自己的微信开发经验,将微信开发的整个过程系统的列出,并对主要代码进行讲解分析,让 ...

  4. 微信公众平台认证步骤详解及服务号和订阅号区别---之微信开发一

    微信公众号对象: 企业.媒体.以及公益.社区等组织.机构. 微信公众号作用: 通过微信公众渠道将品牌推广给上亿或者更多的微信用户. 1.极快的传播速度.极少的宣传成本: 2.提高品牌知名度,打造更具影 ...

  5. 微信公众平台认证步骤详解及服务号和订阅号区别

    微信公众号对象: 企业.媒体.以及公益.社区等组织.机构. 微信公众号作用: 通过微信公众渠道将品牌推广给上亿或者更多的微信用户. 1.极快的传播速度.极少的宣传成本: 2.提高品牌知名度,打造更具影 ...

  6. 微信公众平台认证步骤详解及服务号和订阅号区别 分类: 微信 2014

    微信公众号对象: 企业.媒体.以及公益.社区等组织.机构. 微信公众号作用: 通过微信公众渠道将品牌推广给上亿或者更多的微信用户. 1.极快的传播速度.极少的宣传成本: 2.提高品牌知名度,打造更具影 ...

  7. 微信公众号开通步骤详解

    微信公众号开通步骤详解 微信服务验证 微信公众号接入第一步:开发URL指向的服务接口 开发接口 发布到外网能访问的服务 配置服务 设置白名单 微信服务验证 微信公众号接入第一步:开发URL指向的服务接 ...

  8. python下载微信公众号文章_python如何导出微信公众号文章方法详解

    1.安装wkhtmltopdf 下载地址:https://wkhtmltopdf.org/downloads.html 我测试用的是windows的,下载安装后结果如下 2 编写python 代码导出 ...

  9. 网页微信公众平台登录电脑版

    网页微信公众平台登录电脑版,微信推广的基础是粉丝数量,没有粉丝,微信推广就只能沦为空谈一般,微信营销的真正作用是和大众接地气,可以和大家一起来互动,大家都是使用QQ软件,这个也和QQ软件有很多的相识的 ...

  10. 微信公众平台之超简单实用的天气预报后台实现

    微信公众平台之超简单实用的天气预报后台实现 概述,前段时间我在开发一个自己的微信公众平台,需要实现天气预报功能,在网上度娘了下,实现天气预报的接口API还蛮多的,有:中国气象局.雅虎和新浪等,中国天气 ...

最新文章

  1. 【转】android是32-bit系统还是64-bit系统
  2. C++学习之路(六):实现一个String类
  3. 百度推出 MIP Baidu Path链接
  4. cacti+nagios 整合遇到的问题
  5. 【VS开发】CString 转为 char *方法大全
  6. TensorFlow HOWTO 1.1 线性回归
  7. 基于JAVA+SpringBoot+Mybatis+MYSQL的工资管理系统
  8. 并发减库存,怎么保证不超卖?
  9. Atitit 提升开发效率 通道化驱动化数据操作与查询 目录 1. xiaoguo 1 1.1. Atitit mybatis 简化开发与提升开发效率法 1 2. Code 1 3. ref 4
  10. 平面直角坐标系中的旋转公式_巧用隐圆求解旋转中的最值问题
  11. 计算机专硕双导师,【计算机专业论文】双导师制人才培养计算机专业论文(共1315字)...
  12. Python 实现用GUI设计有界面的词云生成器
  13. 计算机运行内存和显卡内存不足,系统提示显卡内存不足怎么办?-解决系统提示显卡内存不足的方法 - 河东软件园...
  14. request请求参数中文乱码问题
  15. 【图解版】HashMap原理初探
  16. 技术支持和测试的区别_软件测试与开发岗位,哪个更适合你?
  17. CrystalDiskInfo硬盘检测工具 标准版及萌妹版
  18. IE的浏览器模式和文档模式
  19. 接单,外快开发利器-MyBatis-Plus
  20. 一直想学的Synchronized,原来是这样的底层原理

热门文章

  1. 项目中的“里程碑”就是我们常说的里程碑吗?
  2. HTTP请求报文和响应报文、http协议状态码分类和常用状态码、Cookie、curl工具、httpd自带的工具、压力测试工具
  3. 云控微信开发SDK使用教程--手机微信群聊信息变更通知服务端
  4. 哈希值(hashCode)
  5. linux 查看文件哈希码,计算文件哈希值
  6. A. 旅馆顾客统计(静态成员)
  7. PDMS.NET开发
  8. Cesium 三角测量(水平距离,直线距离,高度差)
  9. 图像坐标球面投影_C/C++ 图像处理(7)------图像の球面投影算法
  10. ftp 创建工具下载,3款能够下载的ftp 创建工具