一.背景

      公司安排了师带徒任务,两个徒弟都满了一年了,基本具备独立上手的能力。但他们跟我当年一样,缺乏系统性思维,不知道体系化的思路。所以,借着公司安排给他们的拉取钉钉考勤记录的任务,我记录分享一下引导他们找到合适方案的过程。

二.前期情况

     徒弟接到任务后,在网上各种找资料,大致了解了钉钉拉取考勤记录的流程,核心就是认证和获取考勤记录两大步。认证跟其他开放平台差不多,管理帐号要去设置,拿到类似APPID、AK、SK等信息。获取考勤记录主要就是要先获取一个token,这个token是有有效期的,一般获取后就保存起来,然后是请求地址解析结果。

     徒弟利用我们前期共同搭建的基础框架,使用java语言,基于maven、gitlab、nexus、jekins、1Panle(docker、redis、mysql)等CI/CD环境,进行开发。

     徒弟已经只差最后一个环节调用考勤记录解析返回结果了。我因为其他事情去审计了一下代码,发现他是通过发起HTPP连接去与钉钉开放平台交互的。结果他在解析时方向某个字段可能因为没有值就不返回,期望{"aaa":""}类似的结构,结果返回的是{}。对于他们来说,这里处理钉钉考勤记录获取接口(http url )本身,还有两个知识点:如何发起http访问和如何解析返回结果。

三.优先选用SDK

     我的建议是对于开放平台,优先选择SDK。怎么找到SDK呢?

1.找到SDK的过程

     百度输入“钉钉 考勤记录 SDK”,我选择看了搜索结果中的这个,因为标题跟我想要的接近,来源更想官方。

     

进去过后,发现确实是官方的文档,虽然并不是获取考勤记录的,但是整个文档是成体系的,有获取SDK的渠道。

发现maven依赖如下

<dependency>
 <groupId>com.aliyun</groupId>
 <artifactId>dingtalk</artifactId>
 <version>{sdk-version}</version>
</dependency>

2.找到SDK的maven依赖版本的过程

{sdk-version}的具体版本号是多少呢?哪里去找呢?

百度输入“阿里 maven 仓库”:

进入阿里 maven仓库搜索的界面,先输入artifactid是"dingtalk",点击查询。结果太多,我又用浏览器的查找ctrl+f输入了groupid是“com.aliyun”在页面内查找,很快就找了groupid、artifactid与我们SDK一致的信息了。不过我们要看packing是"jar"的版本号,就是2.1.61。

四.为什么优先选择SDK?

具体编写代码,我就不写了。这里说说为啥优先选择SDK?因为SDK一般是与接口配套的,我们不用去考虑请求路径、请求结果适配这些问题,使用简单,版本更换更简单。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐