码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Delphi Xe 10.3 钉钉SDK开发——审批流接口(获取表单ProcessCode)


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

    一、手动获取:

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

     

    ProcessCode后面就是了!

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

    1. function TDingtalkNew.GetProcessCode(ProcessName: string): string;
    2. const
    3. ProcessCodeAPI: string = 'https://oapi.dingtalk.com/topapi/process/get_by_name';
    4. var
    5. HttpClient: TNetHTTPClient;
    6. Params: TStringList;
    7. Response: TStringStream;
    8. var
    9. JO: TJSONObject;
    10. errcode: string; //返回代码
    11. begin
    12. HttpClient := TNetHTTPClient.Create(nil);
    13. Params := TStringList.Create();
    14. Response := TStringStream.Create('', 65001);
    15. try
    16. Params.Add('access_token=' + Token);
    17. Params.Add('name=' + ProcessName);
    18. HttpClient.post(ProcessCodeAPI, Params, Response);
    19. JO := TJSONObject.ParseJSONValue(Response.DataString) as TJSONObject;
    20. try
    21. if JO <> nil then
    22. begin
    23. JO.TryGetValue<string>('errcode', errcode);
    24. if errcode.ToInteger = 0 then
    25. begin
    26. // Result := Response.DataString;
    27. JO.TryGetValue<string>('process_code', Result);
    28. end
    29. else
    30. begin
    31. JO.TryGetValue<string>('errmsg', Result);
    32. //这里最好做日志记录错误信息
    33. end;
    34. end;
    35. finally
    36. JO.Free;
    37. end;
    38. finally
    39. HttpClient.Free;
    40. Params.Free;
    41. Response.Free;
    42. end;
    43. 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

  • 相关阅读:
    Robotaxi商业化迎来重要拐点,Momenta如何破局“下半场”?
    前端npm打包及报错解决
    QByteArray,char转float的方法以及计算机大小端判断
    UE5 官方案例Lyra 全特性详解 10.进度汇报和视频推荐
    【案例实战】分布式应用下登录检验解决方案(JWT)
    RabbitMQ延迟消息:死信队列 | 延迟插件 | 二合一用法+踩坑手记+最佳使用心得
    spark on yarn 的执行过程以及日志分析
    【React组件】github搜索案例之 兄弟组件通信---PubSubJS / fetch
    Nacos配置中心(四)之Nacos集群
    JAVA计算机毕业设计定西扶贫惠农推介系统Mybatis+源码+数据库+lw文档+系统+调试部署
  • 原文地址:https://blog.csdn.net/delphigbg/article/details/137840848
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号