示例#1
0
        /// <summary>
        /// 得到某个部门下面所有(包括子部门)的成员列表
        /// </summary>
        /// <param name="request">request.id为部门id</param>
        /// <returns></returns>
        public static async Task <UserListResponse> GetAllUserList(DepartmentBaseGetRequest request)
        {
            var result = await GetUserList(
                new UserListGetRequest { access_token = request.access_token, department_id = long.Parse(request.id) });

            if (result.errcode != 0)
            {
                return(result);
            }

            var resultGetDepartmentList = await GetDepartmentList(request);

            foreach (var info in resultGetDepartmentList.department)
            {
                var resultGetUserList = await GetUserList(
                    new UserListGetRequest { access_token = request.access_token, department_id = info.id });

                if (resultGetUserList.errcode != 0)
                {
                    return(resultGetUserList);
                }
                result.userList.AddRange(resultGetUserList.userList);
            }
            return(result);
        }
示例#2
0
        public static async Task <DepartmentListResponse> GetDepartmentList(DepartmentBaseGetRequest request)
        {
            var result = await CommonApi.AccessDingtalkServerAsync <DepartmentListResponse>(
                $"https://oapi.dingtalk.com/department/list?access_token={request.access_token}&lang={request.lang}&id={request.id}",
                null, "GET");

            return(result);
        }