.NET Core實(shí)現(xiàn)企業(yè)微信獲取部門成員
1.獲取部門成員
請求方式:GET(HTTPS)
請求地址:https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=ACCESS_TOKEN&department_id=DEPARTMENT_ID&fetch_child=FETCH_CHILD
參數(shù)說明:
參數(shù) | 必須 | 說明 |
---|---|---|
access_token | 是 | 調(diào)用接口憑證 |
department_id | 是 | 獲取的部門id |
fetch_child | 否 | 是否遞歸獲取子部門下面的成員:1-遞歸獲取,0-只獲取本部門 |
權(quán)限說明:
應(yīng)用須擁有指定部門的查看權(quán)限。
返回結(jié)果:
{ "errcode": 0, "errmsg": "ok", "userlist": [ { "userid": "zhangsan", "name": "張三", "department": [1, 2], "open_userid": "xxxxxx" } ] }
參數(shù)說明:
參數(shù) | 說明 |
---|---|
errcode | 返回碼 |
errmsg | 對返回碼的文本描述內(nèi)容 |
userlist | 成員列表 |
userid | 成員UserID。對應(yīng)管理端的帳號(hào) |
name | 成員名稱,代開發(fā)自建應(yīng)用需要管理員授權(quán)才返回;此字段從2019年12月30日起,對新創(chuàng)建第三方應(yīng)用不再返回真實(shí)name,使用userid代替name,2020年6月30日起,對所有歷史第三方應(yīng)用不再返回真實(shí)name,使用userid代替name,后續(xù)第三方僅通訊錄應(yīng)用可獲取,未返回名稱的情況需要通過通訊錄展示組件來展示名字 |
department | 成員所屬部門列表。列表項(xiàng)為部門ID,32位整型 |
open_userid | 全局唯一。對于同一個(gè)服務(wù)商,不同應(yīng)用獲取到企業(yè)內(nèi)同一個(gè)成員的open_userid是相同的,最多64個(gè)字節(jié)。僅第三方應(yīng)用可獲取 |
2.代碼示例
獲取Token方法見 http://www.dbjr.com.cn/article/245491.htm
2.1 appsetting截圖
2.2 返回值實(shí)體
public class GetUserByDepartmentResult { /// <summary> /// 錯(cuò)誤編號(hào) /// </summary> public int errcode { get; set; } /// <summary> /// 錯(cuò)誤信息 /// </summary> public string errmsg { get; set; } /// <summary> /// 用戶集合 /// </summary> public List<UserList> userlist { get;set;} } public class UserList { /// <summary> /// 用戶ID /// </summary> public int userid { get; set; } /// <summary> /// 名稱 /// </summary> public int name { get; set; } /// <summary> /// 部門列表 /// </summary> public string[] department { get; set; } }
2.3 獲取部門信息方法
/// <summary> /// 獲取用戶通過部門id /// </summary> /// <param name="token">企業(yè)微信Token</param> /// <param name="department_id">部門id</param> /// <returns></returns> public static GetUserByDepartmentResult GetUserByDepartment(string token,int department_id) { //構(gòu)造請求鏈接 var requestBuild = GlobalContext.Configuration["Wx:GetUserByDepartment"]; requestBuild = string.Format(requestBuild, token, department_id); using (var wxClient = GlobalContext.httpClientFactory.CreateClient("WxClient")) { var httpResponse = wxClient.GetAsync(requestBuild).Result; var result= JsonConvert.DeserializeObject<GetUserByDepartmentResult>( httpResponse.Content.ReadAsStringAsync().Result ); return result; } }
2.4 調(diào)用(作為下拉被調(diào)用)
public List<UserList> GetUserByDepartment() { List<UserList> userLists = new List<UserList>(); var (token, issuccess) = ApplicationContext.GetToken(); var result = ApplicationContext.GetUserByDepartment(token, 334); if(result.errcode == 0) { userLists = result.userlist; } return userLists; }
到此這篇關(guān)于.NET Core實(shí)現(xiàn)企業(yè)微信獲取部門成員的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Asp.net MVC 對所有用戶輸入的字符串字段做Trim處理的方法
這篇文章主要介紹了Asp.net MVC 如何對所有用戶輸入的字符串字段做Trim處理,需要的朋友可以參考下2017-06-06Ibatis.net結(jié)合oracle批量刪除實(shí)現(xiàn)代碼
本文介紹Ibatis.net結(jié)合oracle實(shí)現(xiàn)批量刪除寫法,并提供簡單的示例代碼供參考2012-12-12asp.net后臺(tái)動(dòng)態(tài)添加JS文件和css文件的引用實(shí)現(xiàn)方法
這篇文章主要介紹了asp.net后臺(tái)動(dòng)態(tài)添加JS文件和css文件的引用實(shí)現(xiàn)方法,是非常簡單實(shí)用的技巧,需要的朋友可以參考下2014-09-09實(shí)現(xiàn).Net7下數(shù)據(jù)庫定時(shí)檢查的方法詳解
在軟件開發(fā)過程中,有時(shí)候我們需要定時(shí)地檢查數(shù)據(jù)庫中的數(shù)據(jù),并在發(fā)現(xiàn)新增數(shù)據(jù)時(shí)觸發(fā)一個(gè)動(dòng)作。為了實(shí)現(xiàn)這個(gè)需求,本文我們在?.Net?7?下進(jìn)行一次簡單的演示。感興趣的可以了解一下2022-12-12asp.net 中將表單提交到另一頁 Code-Behind(代碼和html在不同的頁面)
To send Server control values from a different Web Forms page2009-04-04ASP.NET中生成Excel遇到的問題及改進(jìn)方法
這是在項(xiàng)目中使用的生成Excel的一個(gè)方法(其實(shí)是我在網(wǎng)上收集),用了半年時(shí)間,并未出現(xiàn)異常情況。近日當(dāng)我再次使用該方法生成Excel的時(shí)候出現(xiàn)了問題2011-02-02