企業微信 獲取當前用戶信息

按我的理解說白了就是:

1 按微信指定的方式拼接出一個oauth url地址(

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

redirect_uri:my url地址

scope:snsapi_base或snsapi_userinfo

snsapi_base:靜默授權,可獲取成員的基礎信息;

snsapi_userinfo:靜默授權,可獲取成員的詳細信息,但不包含手機、郵箱;

snsapi_privateinfo:手動授權,可獲取成員的詳細信息,包含手機、郵箱

 

2 訪問oauth url這個地址,微信會做一些的驗證之類的工作,最終如果沒有問題,它會在my url 這個地址後面加上兩個參數:code 和 state。

3 然後跳轉到 類似於 my url ?code=xxxxxxxx&state=STATE 這個我們的地址上來了。

4 我們拿到code值之後,使用(https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE)可以得到 UserId和user_ticket

5 我們拿到user_ticket值之後,使用(https://qyapi.weixin.qq.com/cgi-bin/user/getuserdetail?access_token=ACCESS_TOKEN)+USER_TICKET

可以得到用戶詳細信息

 

具體可以看兩個地方的文檔

 

https://work.weixin.qq.com/api/doc#90000/90135/91020

https://qydev.weixin.qq.com/wiki/index.php?title=首頁

 

 

 

1 構造網頁授權鏈接

 

以下是微信官方文檔內容:

如果企業需要在打開的網頁裏面攜帶用戶的身份信息,第一步需要構造如下的鏈接來獲取code參數:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&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。code長度最大爲512字節。

示例:

複製代碼

假定當前
企業CorpID:wxdd725338566d6ffe
訪問鏈接:http://api.3dept.com/cgi-bin/query?action=get
根據URL規範,將上述參數分別進行UrlEncode,得到拼接的OAuth2鏈接爲:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxdd725338566d6ffe&redirect_uri=http%3a%2f%2fapi.3dept.com%2fcgi-bin%2fquery%3faction%3dget&response_type=code&scope=snsapi_base&state=#wechat_redirect
員工點擊後,頁面將跳轉至 
http://api.3dept.com/cgi-bin/query?action=get&code=eh3CZBgG333qs9EdaPbCAP1VaOrjuNkiAZHTWgaWsZQ&state=
企業可根據code參數調用獲得員工的userid

複製代碼

注意到,構造OAuth2鏈接中參數的redirect_uri是經過UrlEncode的

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章