开发者社区> 问答> 正文

在钉钉中,如何传递表格控件和附件控件的数据到「发起审批实例」接口?

在钉钉中,如何传递表格控件和附件控件的数据到「发起审批实例」接口?

展开
收起
AAAOY 2023-10-27 14:13:30 385 0
6 条回答
写回答
取消 提交回答
  • 在钉钉中,你可以通过POST请求的方式,将表格控件和附件控件的数据传递给「发起审批实例」接口。以下是具体的步骤:

    1. 首先,你需要在表格控件和附件控件中填写数据。

    2. 然后,你可以在POST请求的body中,将这些数据作为参数传递。

      • 对于表格控件,你可以将其值转换为JSON格式,然后在body中添加一个字段formComponentValues,并将转换后的JSON字符串作为其值。

      • 对于附件控件,你可以在body中添加一个字段attachments,并将附件的文件名和文件内容作为其值。

      • 你还需要在body中添加一个字段microappAgentId,并将其值设置为微应用的ID。

      • 最后,你还需要在body中添加一个字段originatorUserId,并将其值设置为发起人的用户ID。

    2023-10-30 16:01:36
    赞同 展开评论 打赏
  • 传递表格控件和附件控件的数据到「发起审批实例」接口,您需要按照以下步骤进行操作:

    1. 首先,登录钉钉的开发者后台并创建企业内部应用。
    2. 在表单设计中,选择需要的表格控件和附件控件,并将这些控件添加到您的审批单中。
    3. 在发起审批请求时,将表格控件和附件控件的数据添加到请求体中的formComponentValues参数。请注意,每个表单组件需要传递name和value两个值。

    通过以上步骤,您就可以将表格控件和附件控件的数据成功传递到「发起审批实例」接口了。

    2023-10-27 20:34:09
    赞同 展开评论 打赏
  • 在钉钉中,要传递表格控件和附件控件的数据到「发起审批实例」接口,需要在请求示例中的 "formComponentValues" 字段中添加对应控件的数据。具体做法如下:

    1. 对于表格控件,需要将其数据转化为一个 json 对象的二维数组。每个数组元素代表一行数据,数组中的每个元素又是一个 json 对象,其中键值对应表格列的标题和对应的值。例如,假设有一个表格控件,其中有两行数据,每行有两个列,第一列的标题分别为 "Name" 和 "Age",第二列的标题分别为 "Address" 和 "Email"。那么,表格控件的数据应该按照以下方式转化:
    [
      [
        {"name": "John", "age": "23"},
        {"address": "New York", "email": "john@example.com"}
      ],
      [
        {"name": "Jane", "age": "25"},
        {"address": "Los Angeles", "email": "jane@example.com"}
      ]
    ]
    
    1. 对于附件控件,需要将附件文件的 ID 添加到 "formComponentValues" 字段中。例如,假设有一个附件控件,其文件 ID 为 "123456",那么附件控件的数据应该按照以下方式处理:
    {
      "componentCode": "attachment",
      "componentValue": [
        {
          "id": "123456"
        }
      ]
    }
    

    最后,将处理后的 "formComponentValues" 字段添加到 "formData" 中,并发送到「发起审批实例」接口即可。

    2023-10-27 15:50:17
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在钉钉中,可以使用消息扩展插件来传递表格控件和附件控件的数据到「发起审批实例」接口。具体操作如下:

    1. 创建审批实例时,将消息扩展插件的参数传递给 dd.biz.approve.ApproveInstance 对象的 setParam 方法,例如:
      const approveInstance = new dd.biz.approve.ApproveInstance();
      approveInstance.setParam("msg_ext", messageExt);
      approveInstance.create().then(function(instanceId) {
      //...
      }).catch(function(error) {
      //...
      });
      

    在这个例子中,messageExt 是一个包含了表格控件和附件控件的数据的对象。

    1. 接收审批实例时,可以从 result 对象的 msg_ext 属性中获取到传递过来的数据,例如:
      const result = await instanceResult.getApprovalResult();
      const messageExt = result.msg_ext;
      

    在这个例子中,result 对象是由 getApprovalResult 方法返回的一个对象,包含了审批实例的状态和其他相关信息。

    需要注意的是,传递过来的数据需要符合钉钉的消息扩展插件规范,才能正确地被接收到。具体规范可以参考钉钉的官方文档。

    2023-10-27 14:57:56
    赞同 展开评论 打赏
  • 发起审批实例https://open.dingtalk.com/document/orgapp/initiate-approval

    接口调用量说明
    钉钉标准版接口累计可调用次数为1万次/月,当前接口会消耗调用次数。若该调用量无法满足需求,你可升级钉钉专业版(Open API调用量50万次/月)或钉钉专属版(Open API调用量500万次/月)扩容调用次数。
    调用本接口发起一个审批。

    重要
    为提升接口使用体验,针对OA审批相关接口规范进行升级,从旧版升级到新版。本文旧版规范接口文档已于2022年10月8日迁移至历史文档(不推荐)目录,且本接口仅保持现有功能,不再新增支持其他能力。
    如果未使用本接口,推荐使用新版规范发起审批实例接口。
    如果已使用本接口,建议您根据自身实际情况评估是否切换至推荐接口。
    重要
    发起审批实例后,无法通过API修改审批实例信息。

    2023-10-27 14:31:58
    赞同 展开评论 打赏
  • ZZW

    要传递表格控件和附件控件的数据到「发起审批实例」接口,需要在请求示例中的"formComponentValues"字段中添加对应控件的数据。对于表格控件,需要将其数据转化为一个json对象的二维数组。对于附件控件,需要将其数据转化为一个json数组转义为字符串形式,其中每个json对象是一个附件文件,每个文件都必须包含spaceId、fileName、fileSize、fileType和fileId字段,这些字段都可以通过调用钉盘的上传附件接口获取。此回答来自“钉钉开发者社区(互助群)”

    2023-10-27 14:30:47
    赞同 展开评论 打赏
滑动查看更多
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载