.NETCore實現企業微信獲取部門成員
2022-06-17 17:58:30 來源:易采站長站 作者:
1.獲取部門成員
請求方式:GET(HTTPS)
請求地址:https://qyapi.weixin.QQ.com/cgi-bin/user/simplelist?access_token=ACCESS_TOKEN&department_id=DEPARTMENT_ID&fetch_child=FETCH_CHILD
參數說明:
參數 | 必須 | 說明 |
---|---|---|
access_token | 是 | 調用接口憑證 |
department_id | 是 | 獲取的部門id |
fetch_child | 否 | 是否遞歸獲取子部門下面的成員:1-遞歸獲取,0-只獲取本部門 |
權限說明:
應用須擁有指定部門的查看權限。
返回結果:
{ "errcode": 0, "errmsg": "ok", "userlist": [ { "userid": "zhangsan", "name": "張三", "department": [1, 2], "open_userid": "xxxxxx" } ] }
參數說明:
參數 | 說明 |
---|---|
errcode | 返回碼 |
errmsg | 對返回碼的文本描述內容 |
userlist | 成員列表 |
userid | 成員UserID。對應管理端的帳號 |
name | 成員名稱,代開發自建應用需要管理員授權才返回;此字段從2019年12月30日起,對新創建第三方應用不再返回真實name,使用userid代替name,2020年6月30日起,對所有歷史第三方應用不再返回真實name,使用userid代替name,后續第三方僅通訊錄應用可獲取,未返回名稱的情況需要通過通訊錄展示組件來展示名字 |
department | 成員所屬部門列表。列表項為部門ID,32位整型 |
open_userid | 全局唯一。對于同一個服務商,不同應用獲取到企業內同一個成員的open_userid是相同的,最多64個字節。僅第三方應用可獲取 |
2.代碼示例
獲取Token方法見 https://www.jb51.net/article/245491.htm
2.1>
2.2>
public class GetUserByDepartmentResult
{
/// <summary>
/// 錯誤編號
/// </summary>
public int errcode { get; set; }
/// <summary>
/// 錯誤信息
/// </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">企業微信Token</param>
/// <param name="department_id">部門id</param>
/// <returns></returns>
public static GetUserByDepartmentResult GetUserByDepartment(string token,int department_id)
{
//構造請求鏈接
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>
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;
}
/// <summary> /// 獲取用戶通過部門id /// </summary> /// <param name="token">企業微信Token</param> /// <param name="department_id">部門id</param> /// <returns></returns> public static GetUserByDepartmentResult GetUserByDepartment(string token,int department_id) { //構造請求鏈接 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>
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;
}
到此這篇關于.NET Core實現企業微信獲取部門成員的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持易采站長站。
如有侵權,請聯系QQ:279390809 電話:15144810328
最新圖文推薦
相關文章
-
[Asp.Net Core] 淺談Blazor Server Side
在2016年, 本人就開始了一個內部項目, 其特點就是用C#構建DOM樹, 然后把DOM同步到瀏覽器中顯示. 并且在一些小工程中使用. 3年下來, 效果很不錯, 但因為是使用C#來構建控件樹, 在沒有特定2020-07-01
-
使用vs2019加.net core 對WeiApi的創建過程詳解
vs2019創建webapi 1.創建新的項目 2.選擇.NET CORE的ASP .NET CORE WEB應用程序 3.定義項目名稱和存放地點 4.選擇API創建項目 5.刪除原本的無用的類 6.添加新的方法類 7.設置路由 using Microsoft.AspNe2020-07-03
-
[Asp.Net Core]用Blazor Server Side實現圖片驗證碼
關于Blazor 由于在國內, Blazor一點都不普及, 在閱讀此文前, 建議讀者先翻看我之前寫的隨筆, 了解Blazor Server Side的特點. 在一段時間內, 我會寫一些解說分析型的 "為什么選擇 Blazor Server2020-07-01
-
.Net Core中使用ExceptionFilter過濾器的方法
.Net Core中有各種Filter,分別是AuthorizationFilter、ResourceFilter、ExceptionFilter、ActionFilter、ResultFilter??梢园阉麄兛醋魇?Net Core自帶的AOP的擴展封裝。 今天來看其中的一種:ExceptionFilter(用于2020-03-03