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

相关推荐
Dark_programmer5 天前
钉钉小程序 - - - - - 小程序内打开OA文档链接
小程序·钉钉
热爱生活的五柒5 天前
系统代理开启时,钉钉页面加载失败
钉钉
阿三08125 天前
钉钉 AI 深度赋能制造业 LTC 全流程:以钉钉宜搭、Teambition 为例
人工智能·低代码·钉钉·teambition
极新5 天前
163起融资,梅卡曼德融资额夺冠,钉钉、百度智能云10周年,汉桑科技IPO| 2025年8月人工智能投融资观察 · 极新月报
科技·百度·钉钉
Dolphin_Home5 天前
IT需求提示未读信息查询:深度技术解析与性能优化指南【类似:钉钉已读 功能】
性能优化·钉钉
fruge6 天前
钉钉机器人消息发送 npm 库:ddmessage-fruge365
机器人·npm·钉钉
yfs102410 天前
钉钉补卡事件处理方案
java·数据库·钉钉
AI指北11 天前
每周AI看 | 微软开源VibeVoice-1.5B、OpenAI历史性交棒、网易云商出席AICon全球人工智能开发与应用大会
大数据·人工智能·ai·微软·钉钉·在线客服·ai agent
HillVue14 天前
无招想让钉钉重新酷起来
eclipse·钉钉
钉钉开发者社区14 天前
如何在阿里云百炼中使用钉钉MCP
阿里云·钉钉·mcp