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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 钉钉开发工具提供一站式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

 


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
安全 机器人 数据安全/隐私保护
基于钉钉的阿里云管理实践(四)之续费充值
在阿里云资源的运营过程中,及时续费和充值是保障服务不中断的关键行动。借助钉钉及其集成的阿里云管理功能,用户可以方便地接收到续费通知,并完成充值过程。本教程将为您详细介绍从收到续费提醒信息到完成充值的全过程。
163 2
|
6月前
|
弹性计算 运维 监控
基于钉钉的阿里云管理实践(三)之运维管控
随着移动互联网的发展,使用移动设备进行云资源管理变得越来越普及。钉钉作为一款企业沟通和协作工具,其集成的阿里云控制台小程序让用户能够在移动端进行便捷的云资源管理操作。本教程将为您介绍如何在钉钉的阿里云控制台小程序内访问并操作阿里云资源。
192 1
|
2月前
|
存储 人工智能 机器人
动手实践召唤专属钉钉AI助手
通过简单几步,你可以在10分钟内在钉钉上增加一个AI机器人。首先创建一个百炼大模型应用,获取API凭证;接着创建钉钉应用,并配置机器人;然后利用阿里云AppFlow建立连接流,无需编码即可关联机器人与大模型应用;最后为大模型应用添加私有知识库,提升问答准确性。百炼提供新用户免费额度,降低初期成本。整个过程直观易懂,助你快速搭建智能助手。
121 0
|
API 开发工具 开发者
在钉钉中,服务端API 如何获取OA审批评论中的附件下载链接?
在钉钉中,服务端API 如何获取OA审批评论中的附件下载链接?
976 1
|
6月前
|
移动开发 监控 前端开发
作为部门的前端“独苗”,我的钉钉全栈化实践总结
作为前端总会在业务上面临资源、效率等问题,本文讲述如何发挥专业前端在特殊位置的价值,让整个人力的利用效率最大化,并且可以通过实践将这套方法论贡献给有需要的团队去复用实践!
|
6月前
|
监控 机器人 BI
基于钉钉的阿里云管理实践(二)之消息接收
在企业云资源的日常管理中,实时监控和报警通知对于维持系统稳定性至关重要。阿里云提供了一系列的监控服务,可以对云资源进行实时监控,并在出现问题时发送报警。将这些报警消息及时推送到钉钉,可以让团队成员迅速响应,采取必要的措施。本教程将指导您如何将阿里云账号的报警监控消息推送到钉钉上。
251 1
基于钉钉的阿里云管理实践(二)之消息接收
|
6月前
|
消息中间件 PHP 开发工具
阿里云OpenAPI RocketMQ 5.0的PHP收发消息文档可以在阿里云开发者门户中找到
【1月更文挑战第22天】【1月更文挑战第108篇】阿里云OpenAPI RocketMQ 5.0的PHP收发消息文档可以在阿里云开发者门户中找到
124 6
|
6月前
|
监控 数据安全/隐私保护
基于钉钉的阿里云管理实践(一)之账号绑定
在企业日常运营中,通常都需要对阿里云的资源进行管理,对云资源的运行情况进行监控。而钉钉作为一款企业内部沟通协作工具,其与阿里云的结合使用能够提升企业管理效率,实现资源统一管理。 本教程将指导您如何将钉钉账号与阿里云账号进行绑定,以便于更高效地进行资源管理和接收监控告警。
281 0
|
数据安全/隐私保护
在使用钉钉云推送(DingTalk Cloud Push)时遇到了suiteTicket问题
在使用钉钉云推送(DingTalk Cloud Push)时遇到了suiteTicket问题
213 1
|
应用服务中间件 API nginx
在内网开发中使用Nginx代理来访问钉钉新版服务端API
在内网开发中使用Nginx代理来访问钉钉新版服务端API
737 1

热门文章

最新文章