欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C#实现调取钉钉考勤接口的功能

程序员文章站 2024-02-11 10:48:52
...

C#实现调取钉钉考勤接口的功能

公司需要做一个钉钉考勤的页面,让我去写这个功能。结果却比我想象的要麻烦一些!具体是怎么个麻烦呢,下面直入正题。
C#实现调取钉钉考勤接口的功能

首先我们找到获取钉钉考勤结果的接口。结果发现请求参数里有一个userIdList列表,那么这时候第一个问题就来了,如何获得这个userIdList呢?(注意这里的调用方式 是POST)
C#实现调取钉钉考勤接口的功能

C#实现调取钉钉考勤接口的功能
我们需要调用通讯录管理下的用户管理下的获取部门用户接口。来获得用户名字和用户的userId。那么这个时候 发现还需要另一个参数 部门id。那么部门id又是什么呢?(注意这里的调用方式 是GET)
C#实现调取钉钉考勤接口的功能
我们找到了这个接口(通讯录管理下的部门管理下的获取部门列表),然后把id设置为空,就可以得到所有的部门列表了,在部门列表里找到自己部门的id即可。(注意这里的调用方式 是GET)
这样经过一波三折,总算调到了钉钉考勤的结果。注意,一次只能调取7天的哦!
当然,获取到结果之后,还需要进行对数据的分析处理等工作,经过了几天的努力我才完成。

PS:token的获得方法。

public static string GetAccess_Tocken()
       {
           var url = @"https://oapi.dingtalk.com/gettoken?appkey="+AppKey+"&appsecret="+AppSecret;
           var result = Json.ToJObject(HttpMethods.HttpGet(url));
           var tocken = result["access_token"]?.ToString();
           return tocken;
       }

小技巧:C#实现调取钉钉考勤接口的功能
我们可以通过在线调试快速获得部门id,快速验证接口能否使用。不过需要管理员才能使用在线调试这个功能。