.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