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

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

一、手动获取:

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

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

 

 Delphi Xe 10.3  钉钉SDK开发——审批流接口(获取表单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 Xe 10.3  钉钉SDK开发——审批流接口(获取表单ProcessCode)

 

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

上一篇:Python


下一篇:机器学习入门--------逻辑回归的分类评估方法