注:文中绿色部分为摘自微信官方文档

在《微信企业号开发[一]——创建应用》介绍了如何创建应用,但是当用户点击应用跳转到我们设定的URL时,其实并没有带上用户的任何信息,为了获取用户信息,我们需要借助微信提供的OAuth2.0接口。

获取用户信息分两步:

  1. 构造URL获取code
  2. 根据code获取成员信息

一、构造URL获取code

企业如果需要员工在跳转到企业网页时带上员工的身份信息,需构造如下的链接:

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

参数说明

参数 必须 说明
appid 企业的CorpID
redirect_uri 授权后重定向的回调链接地址,请使用urlencode对链接进行处理
response_type 返回类型,此时固定为:code
scope 应用授权作用域,此时固定为:snsapi_base
state 重定向后会带上state参数,企业可以填写a-zA-Z0-9的参数值,长度不可超过128个字节
#wechat_redirect 微信终端使用此参数判断是否需要带上身份信息

员工点击后,页面将跳转至 redirect_uri?code=CODE&state=STATE,企业可根据code参数获得员工的userid。

摘自http://qydev.weixin.qq.com/wiki/index.php?title=OAuth%E9%AA%8C%E8%AF%81%E6%8E%A5%E5%8F%A3

appid

如下图所示获取

scope

可以使用snsapi_base或snsapi_userinfo,snsapi_userinfo能够获取到更多信息,但需用户显式授权

修改URL

假设我们要访问的页面是http://abc.com/homepage.html,CORPID为wx7ce4xxxxxxxa4dd1,最终我们构造的URL为

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7ce4xxxxxxxa4dd1&redirect_uri=http%3a%2f%2fabc.com%2fhomepage.html&response_type=code&scope=snsapi_base&state=1#wechat_redirect

最后把应用的主页URL设置为该URL即可,当用户点击应用时最终跳转的页面为http://abc.com/homepage.html?code=xxxx&state=1

注意:应用需设置可信域名,如果最终跳转页面的域名与可信域名不符将无法跳转

二、根据code获取成员信息

根据code获取成员信息

  • 请求说明

    Https请求方式:GET

https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE

  • 参数说明
参数 必须 说明
access_token 调用接口凭证
code 通过成员授权获取到的code,每次成员授权带上的code将不一样,code只能使用一次,10分钟未被使用自动过期
  • 权限说明

    跳转的域名须完全匹配管理组中任一应用的可信域名。

  • 返回结果

    a)企业成员授权时返回示例如下:

    {"UserId":"USERID","DeviceId":"DEVICEID"} 
摘自http://qydev.weixin.qq.com/wiki/index.php?title=OAuth%E9%AA%8C%E8%AF%81%E6%8E%A5%E5%8F%A3

目前我们已经获取到code了,还差一个access_token参数即可获取到用户的信息,关于access_token的获取将在下一节《微信企业号开发[三]——调用微信接口》继续讲解
 

[目录][上一篇]微信企业号开发[一]——创建应用[下一篇]微信企业号开发[三]——调用微信接口

转载于:https://www.cnblogs.com/leap/p/5913027.html

微信企业号开发[二]——获取用户信息相关推荐

  1. 微信小程序如何获取用户信息

    自我介绍 我是IT果果日记,微信公众号请搜索 IT果果日记 一个普通的技术宅,定期分享技术文章,欢迎点赞.关注和转发,请多关照. 微信小程序用户基本信息有哪些? 除了基本信息,微信还会提供openId ...

  2. 微信小程序制作——获取用户信息

    微信小程序制作--获取用户信息 1.获取用户信息 方式一 wxml <view bindtap="getUserName">获取当前用户名</view> j ...

  3. 企业微信自建应用获取用户信息

    记录一下企业微信自建应用获取用户信息开发过程: 1.第一步,获取授权code,这个在原来首页开发不太合适,在进入首页前新建页面进行授权,点击页面按钮进行授权.需要拼接的授权url.其中corpid是企 ...

  4. vue h5微信公众号授权获取用户信息

    vue h5微信公众号授权获取用户信息 1.申请测试账号 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 2.修改网页授权 ...

  5. 微信小程序授权获取用户信息和手机号码

    微信小程序授权获取用户信息和手机号码 1.微信官方文档 登录:https://developers.weixin.qq.com/miniprogram/dev/framework/open-abili ...

  6. 微信小程序授权 获取用户信息

    微信小程序授权 获取用户信息 小程序昵称突然变成了"微信用户",头像也不显示, <!-- 近期很多小伙伴通过该方法获取头像和昵称,代码也没有做改变,突然就变成了下面这样子 - ...

  7. 微信小程序开发之获取用户信息

    环境 微信开发者工具 Stable 1.06.2303220 云开发控制台 v1.5.47 用户的openid和头像名称信息 openid 是小程序用户的唯一标识.注意, openid 并不是微信用户 ...

  8. 微信小程序(二)我的第一个微信小程序(获取用户信息失败)

    入门篇 我的第一个小程序 步骤 申请AppID,去微信公众平注册小程序服务,并申请是开发者,在开发管理里获取AppID. 安装开发者工具.原生的wxml适合用微信开发者工具开发. 新建项目.(学习不建 ...

  9. 微信公众号开发之获取用户信息

    微信获取用户信息的方式有两种,静默授权(无需用户同意)和非静默授权(需要用户" 手动点击 "拉取授权,可以用户无需关注公众号即可获取用户信息) 整体的代码请查看最后,前边为原理介绍 ...

最新文章

  1. python二分法求解_Python使用二分法求平方根的简单示例
  2. [CPP]--Unicode 字符编码
  3. ubuntu 11.04下Android开发环境的搭建!
  4. 【NLP】fastText词向量与文本分类工具
  5. 负载均衡轮询算法和服务器性能,SpringCloud-Ribbon负载均衡机制、手写轮询算法
  6. javascript入门系列演示·三种弹出对话框的用法实例
  7. .net core精彩实例分享 -- LINQ
  8. 2018年全国多校算法寒假训练营练习比赛(第三场)---I---题(皮克公式)
  9. 2022年第一个诺奖揭晓!获奖者的父亲,诺贝尔生理学或医学奖得主
  10. hdu 4816,Bathysphere,三分
  11. Postman 接口神器
  12. 错误代码1500什么意思_ADSL的一些错误代码是什么意思?
  13. 什么样的打码网站算正规的打码网站
  14. USRP系列(三):NI 与Ettus Research的USRP区别
  15. ReadProcessMemory Types of actual and formal var parameters must be identical
  16. 荣耀9i支持鸿蒙系统吗,让快更快荣耀Play发布 吓人技术终于来了
  17. 开启SQLServer数据库的CDC报错:无法更新元数据来指示已对数据库 XXX 启用了变更数据捕获
  18. 基于EKF的锂离子电池SOC估计——Simulink建模仿真
  19. android 客户端增量更新
  20. 测试如何做到不背锅?

热门文章

  1. Hashtable的测试
  2. 开启Swarm集群以及可视化管理
  3. yum 安装apache php mysql
  4. BZOJ 1087 [SCOI2005]互不侵犯King ——状压DP
  5. ios之mknetworkkit笔记
  6. mac终端操作文件或文件夹(持续更新)
  7. 使用final修饰局部变量???
  8. 网络爬虫--25.【selenium实战】实现拉勾网爬虫之--selenium获取数据
  9. 清华大学《操作系统》(二十三):I/O子系统
  10. mysql datetime类型按天查询_mysql 时间相关sql , 按天、月、季度、年等条件进行查询...