微信企业号开发[二]——获取用户信息
注:文中綠色部分為摘自微信官方文檔
?
在《微信企業號開發[一]——創建應用》介紹了如何創建應用,但是當用戶點擊應用跳轉到我們設定的URL時,其實并沒有帶上用戶的任何信息,為了獲取用戶信息,我們需要借助微信提供的OAuth2.0接口。
獲取用戶信息分兩步:
?
一、構造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的獲取將在下一節《微信企業號開發[三]——調用微信接口》繼續講解 ?
[目錄]
[上一篇]微信企業號開發[一]——創建應用
[下一篇]微信企業號開發[三]——調用微信接口
轉載于:https://www.cnblogs.com/leap/p/5913027.html
總結
以上是生活随笔為你收集整理的微信企业号开发[二]——获取用户信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring AOP自定义注解方式实现日
- 下一篇: php解析视频_YY神曲视频PHP解析调