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

时间:2024-04-17 18:53:54

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

 

在《微信企业号开发[一]——创建应用》介绍了如何创建应用,但是当用户点击应用跳转到我们设定的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的获取将在下一节《
微信企业号开发[三]——调用微信接口》继续讲解
 

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