企業微信獲取用戶信息
本文內容出自官方文檔: https://work.weixin.qq.com/api/doc/10028#根據code獲取成員信息
直接進入正題:
實現需求:企業微信上新建應用,訪問該應用實現直接免登錄進入應用。
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