跳到主要内容

HTTP 连接器 - 钉钉开放平台 - 获取流程审批记录

1. 使用场景

本例介绍一下如何使用钉钉开放平台 OpenAPI 获取宜搭流程审批记录 。

1.1. 连接器介绍文档

2. 实现功能

2.1. 申请钉钉开放平台应用凭证及接口权限

若已申请,可忽略此步骤。

2.2. 创建 HTTP 连接器

2.2.1. 创建 HTTP 连接器

2.2.2. 配置连接器基本信息和登录方式

2.2.3. 配置连接器执行动作

获取审批记录:

接口请求 Query :

接口返回:

{
"result":[]
}

配置更新表单数据连接器同上步骤,只需按照更新表单数据接口文档更改接口请求参数值进行配置

2.2.4. 配置鉴权模板

若无账号,需新增账号,账号所需参数参考 2.1:

鉴权模板具体配置可参考:

此处为语雀内容卡片,点击链接查看:准备工作 - 宜搭自定义连接器鉴权模板配置

2.3. 在宜搭配置页面并配置集成自动化

2.3.1. 配置流程页面

提交该流程页面数据,获取该流程页面提交的流程实例的审批记录

2.3.2. 配置表单页面

创建流程中间表 -> 存放流程表单提交后的实例 id

表单提交成功 -> 选择需要查询的流程 id 直接提交,查看该实例详情的审批记录

2.3.3. 配置集成自动化

流程表单提交成功->新增流程中间表实例,存放流程实例 id

查询审批记录表单提交成功 -> 配置脚本节点处理触发人 userId -> 调用连接器获取审批记录 -> 处理审批记录返回参数 -> 再处理更新数据 -> 调用连接器更新表单数据更新到页面中。

处理触发人 userId 格式:

outputs.add("triggerUser","triggerUser",JSON.parse(triggerUser)[0]);

处理获取审批记录返回参数:

// 筛选出 type 为 'TODO' 的记录
var todoRecords = result.filter(function (item) {
return item.type === 'TODO';
});

// 提取 showName, operatorName,operateTimeGMT 和 taskId 属性
var extractedData = result.map(function (item) {
return {
textField_lq0hets9: item.showName, // 节点名称
employeeField_lq0hetsa: [item.operatorUserId], // 审批人
textField_lq0hv2i2: item.taskId, // 任务id(taskId)
textField_lq0igmdw: item.type, // 任务状态
dateField_lq0hetsb: item.operateTimeGMT ? Date.parse(item.operateTimeGMT) - 8*60*60*1000 : null, // 操作时间
};
});
outputs.add("showName","当前审批节点名称",todoRecords[0].showName);
outputs.add("operatorName","当前审批人",[todoRecords[0].operatorUserId]);
outputs.add("taskId","当前审批节点任务id(taskId)",todoRecords[0].taskId);
outputs.add("extractedData","审批记录详情",extractedData);

处理更新数据:

var updateFormDataJson = {
textField_lq0hets1: showName,
employeeField_lq0hets7: operatorName,
textField_lq0hv2i1: taskId,
tableField_lq0hets8: extractedData,
}
outputs.add("updateFormDataJson","updateFormDataJson",JSON.stringify(updateFormDataJson));

通过连接器更新表单数据:

3. 实现效果

4. 在线试玩

Copyright © 2024钉钉(中国)信息技术有限公司和/或其关联公司浙ICP备18037475号-4