企业微信获取用户信息
直接进入正题:
实现需求:企业微信上新建应用,访问该应用实现直接免登录进入应用。
OAuth2.0接入流程说明
第一步、获取code
需要在打开的应该中配置如下特定的访问地址:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&agentid=AGENTID&state=STATE#wechat_redirect
参数:
appid:企业的CorpID
redirect_uri:授权后重定向的回调链接地址,请使用urlencode对链接进行处理,也就是自己程序中的请求方法。
response_type:固定为:code
scope:应用授权作用域。
snsapi_base:静默授权,可获取成员的的基础信息(UserId与DeviceId);
snsapi_userinfo:静默授权,可获取成员的详细信息,但不包含手机、邮箱;
snsapi_privateinfo:手动授权,可获取成员的详细信息,包含手机、邮箱
agentid:企业应用的id。
当scope是snsapi_userinfo或snsapi_privateinfo时,该参数必填
注意redirect_uri的域名必须与该应用的可信域名一致。
state:重定向回来的时候请求中带上的参数,可填写a-zA-Z0-9的参数值,长度不可超过128个字节,
wechat_redirect:一定要加上此参数。
在企业微信上访问时,页面会跳转至 redirect_uri?code=CODE&state=STATE,这时可根据code获取用户的userid
注:code 的最大为512字节。每次成员授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。
获取access_toekn
根据code 和access_token 获取用户信息
请求方式:GET(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE
返回数据:
这样的话就可以根据获取到的 UserId (注意大小写)来实现免密登录到应用中。
如果需要获取详细的用户信息,调用下面的接口地址请求获取。
使用user_ticket获取成员详情
请求方式:POST(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/user/getuserdetail?access_token=ACCESS_TOKEN