DingTalk「开发者说」 钉钉服务端OpenAPI开发工具实践

简介: 钉钉开发工具提供一站式API 调试、诊断、集成、管理等能力,降低应用开发门槛,提升开发效率。本文主要介绍了钉钉开发的四个API工具及实操演练。


DingTalk「开发者说」

钉钉服务端OpenAPI开发工具实践


 

摘要:钉钉开发工具提供一站式API 调试、诊断、集成、管理等能力,降低应用开发门槛,提升开发效率。本文主要介绍了钉钉开发四个API工具及实操演练

 

分享人:笑乾,钉钉服务端OpenAPI能力建设负责人

 

目录:

  • 钉钉API开发工具简介
  • 钉钉API工具初探
  • 实践操作

 

正文:

 

一、 钉钉API开发工具简介

 

1. 关于钉钉开发工具

 

钉钉开发工具为开发者提供一站式API 调试、诊断、集成、管理等能力,并支持开发工具下载使用,降低应用开发门槛,提升开发效率。

 

2. 钉钉API工具箱地址

https://open-dev.dingtalk.com/fe/api-tools#/

 

3. 常用工具

 

  • API工具:API调试、API诊断、API调用、API流控;
  • 其他工具:微应用调试工具小程序开发工具内网穿透工具DingTalk Design CLID-Design 组件库

 

二、 钉钉API工具初探

 

钉钉API工具主要有以下几种:

 

  • API调试:可视化API在线调试,快速入门API开发;
  • API诊断:快速定位API使用问题,获取有效解决方案;
  • API调用:总览API调用稳定性,洞察出错原因;
  • API流控:自助申请提升限流阈值,保障业务稳定;

 

1. API调试

 image.png

 

API Explorer

 

API Explorer是一款可视化的服务端API在线调试工具,避免了繁杂的环境搭建,直接通过在线填充API入参来发起实际的API请求。 

image.png

主要功能

 

  • API检索:汇集钉钉 1000+ API,可根据API名称或路径快速检索;
  • API文档:内嵌开发文档,便捷查阅API信息;
  • 代码生成:根据填写的API请求参数,动态生成可执行的多语言SDK代码示例;
  • 在线调试:在线发起真实的API请求,显示实际请求地址和请求参数;
  • 结构化输出:输出API调用结果、响应时间、状态码等;

 

image.png

 

注意事项

 

  • 在线调试需要登录态,其他功能不需要;
  • 在线调试需要先获取AccessTokenAPI访问凭证);
  • AK/SK的所属组织需要与当前登录组织一致,并且操作者需要具有该密钥的使用权限(微应用权限);
  • 在线调试会对当前登录企业的线上数据发起真实的API请求,谨慎操作写接口。

 

2. API诊断

image.png

API诊断根据单次API调用返回的requestid,可快速定位、分析错误原因;如果没有获取到requestid,可以通过日志检索功能定位问题。

  

API诊断后会提供以下信息:

 

请求时间;

  • HTTP下上文;
  • API信息;
  • 出入参数;
  • 错误原因;
  • 解决方案

image.png 

日志检索

 

日志检索是根据筛选条件API调用日志,获取以下信息:

 

  • 请求时间;
  • HTTP下上文;
  • API信息;
  • 应用信息;
  • 出入参数;

 

image.png

 

3. API统计

 

image.png

 

进入API统计页面,首先会展示企业内应用近7天的OpenAPI运行情况总览,包括:

 

  • 使用API数;
  • 调用次数;
  • 出错次数;
  • 限流次数;
  • 错误率;

 

image.png

注意:数据为离线数据(T - 1),即仅支持近8天至昨日(T - 8 ~ T - 1)的时间筛选。

 

查看应用内API调用明细

 

在总览表中点击目标应用,可以查看调用详情:

 

  • 接口名称;
  • 总调用次数;
  • 调用调出次数;
  • 调用出错率;
  • 限流次数;

 

image.png

 

查看API错误分布

 

  • 在调用详情页点击“查看错误分布”,查看API错误情况,包含所有错误码以及相对应的数量;
  • 点击“去诊断”会跳转到诊断工具页面,进行错误诊断分析以及提供解决方案;
  • 如果存在限流错误,可以点击“申请流控”。

 

image.png

4. API流控

 

image.png 

钉钉流控策略包含三个维度:全局维度、IP维度和应用维度。

 

a. 全局维度

 

当所有应用调用同一个接口超过最高频率时,触发限流,返回错误码90002

 

b. IP维度

 

  • 每个IP调用所有接口总量,最高206000次;
  • 触发限流,会禁止调用5分钟;
  • 限流不会返回对应的错误码,返回的是一个html页面,需要开发者自行处理;

 

错误示例:

 

{

"status":1111,

"wait":5,

"source":"x5",

"punish":"deny",

"uuid" :"xxx"

}

 

c. 应用维度

 

  • 企业内部应用

 

  • 每个应用,调用每个接口,最高频率40/秒。触发限流,返回错误码90018
  • 每个应用,调用每个接口,最高频率1500/分。触发限流,返回错误码90006

 

  • 第三方企业应用

 

  • 每个应用,对每个授权企业,调用每个接口,最高频率40/秒,触发限流,返回错误码90019
  • 每个应用,对每个授权企业,调用每个接口,最高频率1000/分。触发限流,返回错误码90014

 

针对应用维度的限流问题,钉钉提供流控工具,可以自助申请提升应用维度限流阈值。

 image.png

 

三、 API工具实践

 

image.png

API工具实践流程图

 

1. 创建应用

 

进入开发者后台,选择应用开发-企业内部应用-创建应用,填写应用信息,单击“确定创建”;

 image.png

 

2. 申请权限

 

进入“权限管理”,查找“通讯录管理”(本次实践以通讯录管理为例),单击“申请权限”;

 image.png

 

3. 获取accessToken

 

进入调试工具页面,选择“获取企业内部应用的accessToken”,复制新创建应用的appKey和appSecret填写到相应位置,即可获取accessToken;

 image.png

 

4. 调用接口

 

选择用户管理2.0-获取管理员列表,填入获取的access_token,单击“发起调用”,右侧栏中会显示调试结果;

 image.png

 

使用调试结果中的userid,进行用户详情接口调用操作,即可在右边栏看到用户信息详情以及示例代码;

 image.png

 

5. 错误诊断

 

在userid里键入一个错误信息,并查看调试结果;

image.png

 

复制request_id,进入API诊断页面,输入该request_id,查看诊断结果及解决方案;

image.png

 

6. 日志检索

 

进入日志检索页面,选择起止时间、请求URL、requestid、返回状态或错误码进行检索,可以查询到符合条件的调用接口信息列表,点击前面+号可以查看调用详情;

image.png

 

7. 查看应用调用接口详情

 

进入API统计页面,选择调用日期进行查询,单击“查看调用详情”;

image.png 

 

进入详情页面,查看应用调用接口列表;

image.png

 

8. 查看错误分布

 

接上步,在调用接口列表页面单击“查看错误分布”;

 

image.png

 

9. 申请提升限流阈值

 

同上,在调用接口列表页面单击“申请提升限流”;

image.png

 

注意:

  • “申请理由”请详细填写;
  • 申请提交后需要1-2个工作日的审批流程,在“错误分布”页面可以查看审批状态。

 

image.png

 


相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
移动开发 搜索推荐 API
DingTalk「开发者说」钉钉工作台-业务数字化转型第一门户
钉钉把工作台定义为业务数字化转型门户,从钉钉目前工作台的业务体量、用户量及评价来讲,都应该承担企业数字化转型的重要责。
2001 0
DingTalk「开发者说」钉钉工作台-业务数字化转型第一门户
|
9月前
|
机器学习/深度学习 人工智能 弹性计算
基于OpenAPI和AI coding的上云智能体构建实践
本文探讨了基于LLM和AI编程技术构建上云智能体的实践,提出通过人在回路中设计整体流程、LLM自主决策与执行的方式,有效减少幻觉并提升任务正确率。方案在多轮迭代中逐步生成代码,解决了API参数依赖等问题,并验证了三大核心设计理念的可行性。
基于OpenAPI和AI coding的上云智能体构建实践
|
API 开发工具 开发者
在钉钉中,服务端API 如何获取OA审批评论中的附件下载链接?
在钉钉中,服务端API 如何获取OA审批评论中的附件下载链接?
1588 1
|
消息中间件 PHP 开发工具
阿里云OpenAPI RocketMQ 5.0的PHP收发消息文档可以在阿里云开发者门户中找到
【1月更文挑战第22天】【1月更文挑战第108篇】阿里云OpenAPI RocketMQ 5.0的PHP收发消息文档可以在阿里云开发者门户中找到
293 6
|
数据安全/隐私保护
在使用钉钉云推送(DingTalk Cloud Push)时遇到了suiteTicket问题
在使用钉钉云推送(DingTalk Cloud Push)时遇到了suiteTicket问题
445 1
|
应用服务中间件 API nginx
在内网开发中使用Nginx代理来访问钉钉新版服务端API
在内网开发中使用Nginx代理来访问钉钉新版服务端API
1456 1
|
移动开发 机器人 关系型数据库
DingTalk「开发者说」 钉钉酷应用&悦积分应用创新场景分享
接入酷应用,只需打开钉钉-打开群聊-点击积分速三步提即可实现积分申请,非常简单、便捷。通过群聊扩展一键安装,在群内进行体验,将工作放到群内,实时掌握工作进度,化繁为简,独立部署,提高工作效率。
2336 2
DingTalk「开发者说」 钉钉酷应用&悦积分应用创新场景分享
|
移动开发 小程序 安全
DingTalk「开发者说」钉钉酷应用&斗栱云:赋能产品创新,加速企业数字化
酷应用概念问世后,斗拱云如获至宝。工程行业的数据大多来自于一线人员,用户平时既要在现场进行管理,又要在沟通中确认各种事项,还要登录不同的软件,录入数据。而酷应用的理念很好地解决了协同和数据的打通问题,工作沟通和业务数据实现一体化,不再分离,让系统真正实现数字化。
2763 0
DingTalk「开发者说」钉钉酷应用&斗栱云:赋能产品创新,加速企业数字化
|
数据管理 数据挖掘 API
DingTalk「开发者说」钉钉连接平台,在宜搭场景下如何使用钉钉连接器
钉钉连接平台通过简单的低代码配置,帮助企业迅捷实现系统集成和连接,降低集成实施的周期和成本。本文主要介绍在宜搭场景下如何使用钉钉连接器。
4920 0
DingTalk「开发者说」钉钉连接平台,在宜搭场景下如何使用钉钉连接器
|
数据可视化 机器人 API
DingTalk「开发者说」钉钉连接平台,企业自建场景下如何实现系统互通
钉钉连接平台通过简单的低代码配置,帮助企业迅捷实现系统集成和连接,降低集成实施的周期和成本。本文主要介绍在企业自建场景下,如何使用连接平台的连接流实现系统互通,包括三个案例分享:1. 会议室预定后发送机器人通知;2. 企业报警信息通过机器人发送到群;3. 销帮帮新增客户同步到企业内部系统。
2818 0
DingTalk「开发者说」钉钉连接平台,企业自建场景下如何实现系统互通