您的位置:首頁 > 教程 > ASP.NET > .NETCore實現企業微信獲取部門成員

.NETCore實現企業微信獲取部門成員

2022-06-17 17:58:30 來源:易采站長站 作者:

.NETCore實現企業微信獲取部門成員

1.獲取部門成員

請求方式:GET(HTTPS)
請求地址:https://qyapi.weixin.QQ.com/cgi-bin/user/simplelist?access_token=ACCESS_TOKEN&department_id=DEPARTMENT_ID&fetch_child=FETCH_CHILDGbu站長之家-易采站長站-Easck.Com

參數說明:Gbu站長之家-易采站長站-Easck.Com

參數必須說明
access_token調用接口憑證
department_id獲取的部門id
fetch_child是否遞歸獲取子部門下面的成員:1-遞歸獲取,0-只獲取本部門

權限說明:Gbu站長之家-易采站長站-Easck.Com

應用須擁有指定部門的查看權限。Gbu站長之家-易采站長站-Easck.Com

返回結果:Gbu站長之家-易采站長站-Easck.Com

{
   "errcode": 0,
   "errmsg": "ok",
   "userlist": [
           {
                  "userid": "zhangsan",
                  "name": "張三",
                  "department": [1, 2],
                  "open_userid": "xxxxxx"
           }
     ]
}

參數說明:Gbu站長之家-易采站長站-Easck.Com

參數說明
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.htmGbu站長之家-易采站長站-Easck.Com

2.1>

Gbu站長之家-易采站長站-Easck.Com

 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;
        }

到此這篇關于.NET Core實現企業微信獲取部門成員的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持易采站長站。Gbu站長之家-易采站長站-Easck.Com

如有侵權,請聯系QQ:279390809 電話:15144810328

相關文章

  • [Asp.Net Core] 淺談Blazor Server Side

    [Asp.Net Core] 淺談Blazor Server Side

    在2016年, 本人就開始了一個內部項目, 其特點就是用C#構建DOM樹, 然后把DOM同步到瀏覽器中顯示. 并且在一些小工程中使用. 3年下來, 效果很不錯, 但因為是使用C#來構建控件樹, 在沒有特定
    2020-07-01
  • asp.net生成Excel并導出下載五種實現方法

    asp.net生成Excel并導出下載五種實現方法

    方法一 通過GridView(簡評:方法比較簡單,但是只適合生成格式簡單的Excel,且無法保留VBA代碼),頁面無刷新 aspx.cs部分 代碼如下: using System; using System.Collections; using System.Configuration; usi
    2019-05-16
  • Asp.Net Core用NLog記錄日志操作方法

    Asp.Net Core用NLog記錄日志操作方法

    需求 1.日志自動寫入到數據庫、寫入到文件 2.appsettings.json數據庫連接更改后,不需要去改NLog中的連接地址,啟動網站或項目時自動檢測變動然后去更改,以appsettings.json為準,保持同步
    2019-11-19
  • 使用vs2019加.net core 對WeiApi的創建過程詳解

    使用vs2019加.net core 對WeiApi的創建過程詳解

    vs2019創建webapi 1.創建新的項目 2.選擇.NET CORE的ASP .NET CORE WEB應用程序 3.定義項目名稱和存放地點 4.選擇API創建項目 5.刪除原本的無用的類 6.添加新的方法類 7.設置路由 using Microsoft.AspNe
    2020-07-03
  • 教你Asp.net下使用mysql數據庫的步驟

    教你Asp.net下使用mysql數據庫的步驟

    1. 首先需要安裝mysql, 易采站長站下載地址: //www.jb51.net/softs/2193.html 或者去mysql.com官網都可以,一路next,安裝好后,有個簡單配置,提示有個設置登錄密碼和服務名稱, 默認localhost,用
    2019-05-16
  • [Asp.Net Core]用Blazor Server Side實現圖片驗證碼

    [Asp.Net Core]用Blazor Server Side實現圖片驗證碼

    關于Blazor 由于在國內, Blazor一點都不普及, 在閱讀此文前, 建議讀者先翻看我之前寫的隨筆, 了解Blazor Server Side的特點. 在一段時間內, 我會寫一些解說分析型的 "為什么選擇 Blazor Server
    2020-07-01
  • 詳解ASP.NET Razor 語法

    詳解ASP.NET Razor 語法

    Razor 同時支持 C# (C sharp) 和 VB (Visual Basic)。 主要的 Razor C# 語法規則 Razor 代碼塊包含在 @{ ... } 中 內聯表達式(變量和函數)以 @ 開頭 代碼語句用分號結束 變量使用 var 關鍵字聲明 字符
    2020-07-07
  • .Net Core中使用ExceptionFilter過濾器的方法

    .Net Core中使用ExceptionFilter過濾器的方法

    .Net Core中有各種Filter,分別是AuthorizationFilter、ResourceFilter、ExceptionFilter、ActionFilter、ResultFilter??梢园阉麄兛醋魇?Net Core自帶的AOP的擴展封裝。 今天來看其中的一種:ExceptionFilter(用于
    2020-03-03
色七七影院_香港三级台湾三级在线播放_男人放进女人阳道猛进猛出