在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开发钉钉审批流时,需要用到钉钉表单的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;
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论