Delphi Xe 10.3 钉钉SDK开发——审批流接口(获取表单ProcessCode)

开发钉钉审批流时,需要用到钉钉表单的Processcode,有两种方法 :

一、手动获取:

管理员后台------审批------找到对应的表单:如图:

ProcessCode后面就是了!

二、接口获取:今天的重点,不说了,直接上代码。

复制代码
function TDingtalkNew.GetProcessCode(ProcessName: string): string;
const
  ProcessCodeAPI: string = 'https://oapi.dingtalk.com/topapi/process/get_by_name';
var
  HttpClient: TNetHTTPClient;
  Params: TStringList;
  Response: TStringStream;
var
  JO: TJSONObject;
  errcode: string; //返回代码
begin
  HttpClient := TNetHTTPClient.Create(nil);
  Params := TStringList.Create();
  Response := TStringStream.Create('', 65001);
  try
    Params.Add('access_token=' + Token);
    Params.Add('name=' + ProcessName);
    HttpClient.post(ProcessCodeAPI, Params, Response);
    JO := TJSONObject.ParseJSONValue(Response.DataString) as TJSONObject;
    try
      if JO <> nil then
      begin
        JO.TryGetValue<string>('errcode', errcode);
        if errcode.ToInteger = 0 then
        begin
//          Result := Response.DataString;
          JO.TryGetValue<string>('process_code', Result);
        end
        else
        begin
          JO.TryGetValue<string>('errmsg', Result);
          //这里最好做日志记录错误信息
        end;
      end;
    finally
      JO.Free;
    end;
  finally
    HttpClient.Free;
    Params.Free;
    Response.Free;
  end;

end;

下面就是调用了:

复制代码
procedure TMainForm.ToolButton6Click(Sender: TObject);
var
  dk: TDingtalkNew;
begin
  dk := TDingtalkNew.Create;
  try
    dk.Getappid := '你企业钉钉的APPID';
    dk.Getappsecret := '你企业钉钉的Appsecret';
    Log.Debug(dk.GetProcessCode('ERP客户订单'),'debug');
  finally
    dk.Free;
  end;
end;

中年大叔学Delphi

相关推荐
青靴4 天前
轻量级 CI/CD 实战(四):本地开发钉钉告警 → 自动部署云服务器 Kafka 消费者容器
ci/cd·docker·钉钉
是孑然呀15 天前
【钉钉表单(周/日报)】每天定时发送,实现收集每天信息
钉钉
ζั͡山 ั͡有扶苏 ั͡✾16 天前
完善EKF可观测性体系:基于ElastAlert2构建k8s智能钉钉日志告警系统
容器·kubernetes·钉钉·kibana·filebeat·日志监控
cui_win17 天前
Prometheus实战教程 05 - 告警通知实现 - 邮件 + 钉钉 + 自定义告警模板
钉钉·prometheus·邮件通知
CHN悠远20 天前
debian13 安装钉钉后,钉钉无法运行问题的解决办法
linux·运维·服务器·钉钉·debian13
PyAIGCMaster23 天前
钉钉的设计理念方面,我可以学习
人工智能·深度学习·学习·钉钉
是孑然呀23 天前
【钉钉多元表格(自动化)】钉钉群根据表格 自动推送当天值日生信息
运维·自动化·钉钉
IT小哥哥呀23 天前
Node.js 实现企业内部消息通知系统(钉钉/企业微信机器人)
node.js·钉钉·企业微信·webhook·后端开发·自动化通知·mysql实战
javachen__1 个月前
Spring Boot将错误日志发送到企微微信或钉钉群
spring boot·后端·钉钉
Teable任意门互动1 个月前
主流多维表格产品深度解析:飞书、Teable、简道云、明道云、WPS
开发语言·网络·开源·钉钉·飞书·开源软件·wps