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

相关推荐
散装DBA18 天前
OpenClaw+钉钉机器人实现数据库操作
数据库·机器人·钉钉
CaracalTiger20 天前
OpenClaw开源项目汇总:Installer一键部署、Moltworker云端方案、钉钉飞书微信接入全指南
微信·开源·aigc·钉钉·飞书·学习方法·业界资讯
SJMP197421 天前
OpenClaw 本地 Windows 部署(WSL),对接钉钉
windows·钉钉·阿里云百炼·openclaw
liangshanbo121521 天前
OpenClaw 安装与钉钉机器人配置总结
钉钉·openclaw
兰亭古墨22 天前
钉钉工作台自建组件定时器被禁?用 Swiper 模拟 setInterval 的优雅方案
前端·钉钉
杭州吉网运维日记1 个月前
钉钉告警推送@多人脚本
数据库·python·钉钉
yunfuuwqi1 个月前
2026年OpenClaw(Clawdbot)一键部署教程及对接QQ、企业微信、飞书、钉钉等IM平台步骤
运维·服务器·网络·人工智能·钉钉·飞书·企业微信
zandy10111 个月前
AI驱动全球销售商机管理:钉钉DingTalk A1的跨域管理智能解决方案
人工智能·百度·钉钉
feng一样的男子1 个月前
阿里云的moltbot机器人使用钉钉的Stream流式接入
阿里云·机器人·钉钉
Honmaple1 个月前
OpenClaw 钉钉插件安装指南
服务器·网络·钉钉