温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

.NET Core如何实现企业微信获取部门成员

发布时间:2022-06-18 09:36:15 来源:亿速云 阅读:216 作者:iii 栏目:开发技术

今天小编给大家分享一下.NET Core如何实现企业微信获取部门成员的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

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.代码示例

2.1 appsetting截图

.NET Core如何实现企业微信获取部门成员

 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如何实现企业微信获取部门成员”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI