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

 更新时间:2022年06月17日 15:45:50   投稿:yangbin  
这篇文章介绍了.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.代码示例

 获取Token方法见 https://www.jb51.net/article/245491.htm

2.1 appsetting截图

 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实现企业微信获取部门成员的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • ASP.NET中实现文件的保护性下载基础篇

    ASP.NET中实现文件的保护性下载基础篇

    许多时候,我们需要在因特网上提供文件下载服务,但是又要防止未经授权的下载,这时该怎么办?本文将为读者详细介绍一种使用ASP.NET实现的HTTP处理程序的解决方案。
    2011-02-02
  • visual studio 2015+opencv2.4.13配置教程

    visual studio 2015+opencv2.4.13配置教程

    这篇文章主要为大家详细介绍了visual studio 2015+opencv2.4.13配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • .Net Core依赖注入IOC和DI介绍

    .Net Core依赖注入IOC和DI介绍

    这篇文章介绍了.Net Core依赖注入IOC和DI,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • asp.net C#实现解压缩文件的方法

    asp.net C#实现解压缩文件的方法

    这篇文章主要介绍了asp.net C#实现解压缩文件的方法,分别讲述了三种不同的实现方法,是非常实用的技巧,需要的朋友可以参考下
    2014-11-11
  • asp.net Server.MapPath方法注意事项

    asp.net Server.MapPath方法注意事项

    当我发布之后,对存储图片的文件夹创建了虚拟目录,并赋予该目录写入的权限,但是,当我上传图片的时候,总是失败。以前没遇到过这种情况,觉得很是怪异,所以想尽办法去解决。
    2008-09-09
  • asp.net下实现输入数字的冒泡排序

    asp.net下实现输入数字的冒泡排序

    .net下实现输入数字的冒泡排序
    2010-03-03
  • .Net弹性和瞬态故障处理库Polly实现弹性策略

    .Net弹性和瞬态故障处理库Polly实现弹性策略

    这篇文章介绍了.Net弹性和瞬态故障处理库Polly实现弹性策略的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • ASP.NET Core3.x API版本控制的实现

    ASP.NET Core3.x API版本控制的实现

    这篇文章主要介绍了ASP.NET Core3.x API版本控制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • asp.net中穿透Session 0 隔离(二)

    asp.net中穿透Session 0 隔离(二)

    上一篇我们已经对Session 0 隔离有了进一步认识,如果在开发过程中确实需要服务与桌面用户进行交互,可以通过远程桌面服务的API 绕过Session 0 的隔离完成交互操作
    2012-11-11
  • asp.net 文章分页显示实现代码

    asp.net 文章分页显示实现代码

    asp.net 文章分页显示实现代码,不多说看代码,简单,自己请适当修改
    2012-06-06

最新评论