《钉钉应用开发者速成手册》之“如何调用钉钉API——服务端API”

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 为了满足客户需求,钉钉目前主要提供了身份验证、通讯录管理、消息通知、智能办公四大类的服务端API接口给开发者使用。

身份验证

身份验证免登是指用户进入应用后,无需输入钉钉用户名和密码,应用程序可自动获取当前用户身份,进而登录系统的流程。身份验证的服务端API主要分为五部分,如下图所示:

image.png

  • 钉钉应用内免登实现企业内部或第三方企业应用免登,即企业员工在钉钉内使用企业内部应用或第三方企业应用时无需输入账号和密码。可通过以下步骤实现:
  1. 获取JSAPI免登授权码。
  2. 获取用户userId。
  3. 获取用户详情。
  • 管理后台免登应用管理后台免登指管理员在钉钉管理后台对应用进行设置和管理时,无需输入该应用的账号和密码,可直接登录应用的管理后台。可通过以下步骤实现:
  1. 获取免登授权码。
  2. 获取管理员身份信息。
  • 扫码登录实现扫码登录第三方网站。扫码登录指钉钉客户端扫码并确认登录web系统,在系统内获取正在访问用户的钉钉身份,无需输入账号密码的开发流程。提供了以下两种方式:
  • 直接使用钉钉提供的扫码登录页面。
  • 开发者可以将钉钉的登录二维码内嵌到自己的网站中,让用户进行扫码登录。
  • 钉钉内免登
    实现钉钉内免登第三方网站。钉钉内免登第三方网站指用户在钉钉客户端内点击H5网站链接时,无需输入账号密码系统自动获取正在访问用户钉钉身份。
  • 密码登录
    实现使用钉钉账号登录第三方网站。通过手动输入钉钉的账号密码,登录第三方独立的web系统,并获得正在访问用户的钉钉身份。

通讯录管理

通讯录是开发者接入钉钉时最常用到的一批接口,主要包含四大类接口,如下图所示:

说明

在调用通讯录相关接口前,请先添加对应的通讯录权限。开发者可以调用通讯录接口,将通讯录数据写到钉钉中,用于获取钉钉通讯录。如果企业想实时接收通讯录变更,可以注册钉钉的通讯录回调,实时接收通讯录的回调内容。

image.png

  • 用户管理
    包括增删改用户的接口,还可以获取部门下的用户,获取用户详情,获取管理员列表,跟进unionId获取userId,获取企业人数等接口。
  • 部门管理
    包括增删改部门,获取部门ID列表,获取部门详情,获取部门上级部门,获取用户上级部门等接口。
  • 角色管理
    角色分为角色和角色组,所以我们有增加删除修改角色,增加删除角色组合员工,获取角色组,获取角色列表和详情,获取角色下的员工列表等接口。
  • 外部联系人管理
    包括增删改外部联系人,获取外部联系人列表,详情,和标签列表等接口。

消息通知

消息通知主要分为三部分,如下图所示:

image.png

  • 工作通知消息是以企业工作通知会话中某个微应用的名义推送到员工的通知消息,例如审批通知,任务通知等。说明
  • 该接口是异步接口,接口返回成功并不表示用户一定会收到消息,需要通过 “查询工作通知消息的发送结果”接口查询是否发送成功。
  • 工作通知消息也有一些限流规则,具体规则可参考调用频率限制
  • 群会话消息
    是指可以调用接口,以系统名义向群里推送群聊消息。与之配合的是对应的创建群,更新群,获取群人员列表等服务端API接口。
  • 普通会话消息
    是指可以调用接口,以系统名义向群里推送群聊消息。与之配合的是对应的创建群,更新群,获取群人员列表等服务端API接口。

智能办公

智能办公包含以下七个部分,如下图所示:

image.png

  • 智能工作流
    包括发起审批实例,创建更新模板,创建更新待办,获取审批详情,审批回调,审批跳转,待办任务等接口。
  • 考勤
    可以获取考勤数据,获取请假数据,获取考勤组信息,获取排班信息等。
  • 日志
    可以获取日志数据,日志的已读、未读、评论、点赞等信息,获取日志模板。
  • 签到
    可以获取用户的签到记录
  • 智能填表
    可以获取企业智能填表的一些数据,还可以获取填表的一些模板。
  • 智能人事
    可查询待入职员工,查询在职员工,查询离职员工,还有获取花名册信息,添加待入职员工等接口。
  • 公告
    可以获取用户公告数据,包括公告的时间等。

如何调用服务端API

要调用API需要以下三个基础条件:

  • 钉钉应用
    钉钉应用作为您调用API时的身份,有AppKey和AppSecret用于验证您的身份。可以在钉钉开放平台应用开发页面创建应用,创建应用成功后,系统会自动生成AppKeyAppSecret
  • API
    在调用相关接口时,需要明确您即将需要调用的API相关参数定义。
  • 相关权限
    在调用相关接口前,您可能需要先申请对应的接口权限。您可以登陆钉钉开放平台,选择您创建的应用,选择权限管理,添加相应接口权限。

可通过以下步骤,完成服务端API接口的调用:

  1. 获取access_token。调用服务端API,首先要获取access_token。调用access_token的请求方式为GET(HTTPS),请求地址如下图所示,要输入两个参数appkey和appsecret。

说明

  • 正常情况下access_token的有效期是7200秒,有效期内重复获取会返回相同结果,并且自动续期。
  • POST请求必须在HTTP Header中设置对应的Content-Type:application/json。钉钉官方提供了统一的Java、PHP、.NET、Python对应的SDK,可参考服务端SDK下载

image.png

  1. 调用相关API接口。可通过以下方式调用服务端API接口:说明为了防止企业和ISV的应用程序错误从而引发钉钉服务器负载异常,默认情况下,每个服务端调用接口都会有一定的频率限制。当超过此限制时,调用接口会收到对应的错误码。限流规则可参考调用频率限制
  • 方式一:使用API文档中提供的SDK示例代码进行调用。
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
OapiGettokenRequest request = new OapiGettokenRequest();
request.setAppkey("appkey");
request.setAppsecret("appsecret");
request.setHttpMethod("GET");
OapiGettokenResponse response = client.execute(request);
System.out.println(response.getBody());
  • 方式二:自行编辑HTTP(s)请求来调用API。
请求方式: GET/POST(HTTPS)
请求地址: https://oapi.dingtalk.com/gettoken?appkey=appkey&appsecret=appsecret
请求包体:
...
参数说明:
...
SDK请求示例:
...
返回结果
...
  • 请求方式:接口有HttpGet/HttpPost两种方式。所有的请求都为HTTPS协议。
  • 请求地址:都以oapi.dingtalk.com开头。
  • 参数说明:包括字段含义、取值范围。比如HttpPost的请求包体就是request body的方式。
  • SDK请求示例:使用SDK时调用接口的Java代码示例。
  • 返回结果:钉钉所有接口的返回结果里都有errcode、errmsg。开发者需根据errcode是否为0判断是否调用成功。errcode为0表示调用成功,不为零表示失败,会生成对应的errmsg。开发平台文档上还有全局错误码,针对每个echo都会有一个对应解决方案的描述。
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
4天前
|
存储 缓存 API
API接口详解及其在电子商务中的应用研究
通过这些内容的详细介绍和实际案例分析,希望能帮助您深入理解API接口及其在电子商务中的应用,提高系统的互操作性和用户体验。
33 14
|
4天前
|
人工智能 运维 监控
发现API安全风险,F5随时随地保障应用和API安全
发现API安全风险,F5随时随地保障应用和API安全
21 7
|
7天前
|
人工智能 监控 安全
自学记录鸿蒙 API 13:骨骼点检测应用Core Vision Skeleton Detection
骨骼点检测技术能够从图片中识别出人体的关键骨骼点位置,如头部、肩部、手肘等,广泛应用于运动健身指导、游戏交互、医疗辅助、安全监控等领域。我决定深入学习HarmonyOS Next API 13中的Skeleton Detection API,并开发一个简单的骨骼点检测应用。通过理解API核心功能、项目初始化与配置、实现检测功能、构建用户界面,以及性能优化和功能扩展,逐步实现这一技术的应用。未来计划将其应用于健身指导和智能监控领域,探索与其他AI能力的结合,开发更智能的解决方案。如果你也对骨骼点检测感兴趣,不妨一起进步!
130 9
|
7天前
|
JSON API 开发者
Lazada 商品评论列表 API 接口:开发、应用与收益
Lazada作为东南亚领先的电商平台,其商品评论数据蕴含丰富信息。通过开发和利用Lazada商品评论列表API接口,企业可深入挖掘这些数据,优化产品、营销和服务,提升客户体验和市场竞争力。该API基于HTTP协议,支持GET、POST等方法,开发者需注册获取API密钥,并选择合适的编程语言(如Python)进行开发。应用场景包括竞品分析、客户反馈处理及精准营销,帮助企业提升销售业绩、降低运营成本并增强品牌声誉。
23 2
|
17天前
|
存储 搜索推荐 安全
介绍几个常用的电商API接口及其应用场景。(一篇文章全清楚)
电商API接口是电商平台高效运营的核心技术支撑,涵盖商品管理、订单管理、支付、客户管理、营销推广和数据分析六大模块。商品管理API实现商品信息的精准上传与动态调整;订单管理API确保订单全流程透明可控;支付API保障交易安全便捷;客户管理API通过数据分析提供个性化服务;营销推广API助力精准营销;数据分析API为决策提供数据支持。各API协同工作,推动电商行业创新发展,构建智能便捷的电商生态。
117 12
|
10天前
|
供应链 搜索推荐 API
1688榜单商品详细信息API接口的开发、应用与收益
1688作为全球知名的B2B电商平台,为企业提供丰富的商品信息和交易机会。为满足企业对数据的需求,1688开发了榜单商品详细信息API接口,帮助企业批量获取商品详情,应用于信息采集、校验、同步与数据分析等领域,提升运营效率、优化库存管理、精准推荐、制定市场策略、降低采购成本并提高客户满意度。该接口通过HTTP请求调用,支持多种应用场景,助力企业在电商领域实现可持续发展。
51 4
|
9天前
|
监控 搜索推荐 API
京东按图搜索京东商品(拍立淘)API接口的开发、应用与收益
京东通过开放商品详情API接口,尤其是按图搜索(拍立淘)API,为开发者、企业和商家提供了创新空间和数据支持。该API基于图像识别技术,允许用户上传图片搜索相似商品,提升购物体验和平台竞争力。开发流程包括注册账号、获取密钥、准备图片、调用API并解析结果。应用场景涵盖电商平台优化、竞品分析、个性化推荐等,为企业带来显著收益,如增加销售额、提高利润空间和优化用户体验。未来,随着数字化转型的深入,该API的应用前景将更加广阔。
51 1
|
10天前
|
安全 API 数据安全/隐私保护
速卖通AliExpress商品详情API接口深度解析与实战应用
速卖通(AliExpress)作为全球化电商的重要平台,提供了丰富的商品资源和便捷的购物体验。为了提升用户体验和优化商品管理,速卖通开放了API接口,其中商品详情API尤为关键。本文介绍如何获取API密钥、调用商品详情API接口,并处理API响应数据,帮助开发者和商家高效利用这些工具。通过合理规划API调用策略和确保合法合规使用,开发者可以更好地获取商品信息,优化管理和营销策略。
|
13天前
|
存储 搜索推荐 API
小红书笔记详情API接口的开发、应用与收益
小红书笔记详情API接口为开发者、企业和内容创作者提供了获取平台丰富资源的通道。通过该接口,用户可以提取笔记的详细信息(如标题、正文、标签等),并应用于市场调研、竞品分析、内容创作、电商推荐等多个领域。这不仅有助于提升品牌影响力和优化用户体验,还能挖掘商业机会,促进内容创新,增强用户互动与社群凝聚力。总之,小红书笔记详情API接口为企业和个人在社交媒体领域探索新增长点提供了重要工具。
74 0
|
16天前
|
JSON API 数据安全/隐私保护
淘宝商品详情API接口系列以及应用场景
淘宝商品详情API接口系列是淘宝开放平台提供的一系列编程接口,允许第三方开发者通过特定的协议和方式,与淘宝平台进行数据交互。这些接口涵盖了商品搜索、商品详情获取、订单管理、物流查询、支付结算等多个方面,为开发者提供了极大的灵活性和便利性。以下是对淘宝商品详情API接口系列的详细介绍