.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 MVC HttpPostedFileBase文件上传的实例代码
这篇文章主要介绍了ASP.NET MVC HttpPostedFileBase文件上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-07-07
在 .NET 中使用 FixedTimeEquals 应对计时攻击的例子
在计算机安全中,计时攻击(Timing attack)是旁道攻击 (Side-channel attack) 的一种,而旁道攻击是根据计算机处理过程发出的信息进行分析,这篇文章主要介绍了在 .NET 中使用 FixedTimeEquals 应对计时攻击,需要的朋友可以参考下2022-06-06
ASP.NET Core Web App应用第三方Bootstrap模板的方法教程
这篇文章主要给大家介绍了关于ASP.NET Core Web App应用第三方Bootstrap模板的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧2018-06-06
如何使用Microsoft.Extensions.AI简化.NET中的AI集成
Microsoft.Extensions.AI是一个创新的 .NET 库,它为平台开发人员提供了一个内聚的 C# 抽象层,简化了与大型语言模型(LLMs)和嵌入等AI服务的交互,本文给大家介绍如何使用Microsoft.Extensions.AI简化.NET中的AI集成,感兴趣的朋友一起看看吧2024-11-11
ASP.NET Sql Server安装向导(aspnet_regsql.exe)错误解决一例
这个程序是注册网站的数据库,从而提供Membership , Role , Profile 等等诸多功能和管理权限的控件的使用。2010-03-03


最新评论