注:文中綠色部分為摘自微信官方文檔
在《微信企業號開發[一]——創建應用》介紹了如何創建應用,但是當用戶點擊應用跳轉到我們設定的URL時,其實並沒有帶上用戶的任何信息,為了獲取用戶信息,我們需要借助微信提供的OAuth2.0接口。
獲取用戶信息分兩步:
- 構造URL獲取code
- 根據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的獲取將在下一節《微信企業號開發[三]——調用微信接口》繼續講解
[目錄]
[上一篇]微信企業號開發[一]——創建應用
[下一篇]微信企業號開發[三]——調用微信接口