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