钉钉审批接口支持三方通过接口传附件

news/2024/12/5 12:22:56/文章来源:https://www.cnblogs.com/yatai-bd/p/18585467

     之前钉钉是不支持直接接口进行传附件的,只能通过前端获取参数然后点击传输;新接口通过代码封装获取数据流,上传附件然后提交附件,把返回的数据包解析适合于三方的发起格式数据,上传即可,剩下就是通过接口传审批带附件内容的数据。

主要使用的接口:

  •  获取钉盘空间信息接口

    POST /v1.0/workflow/processInstances/spaces/infos/query HTTP/1.1
    Host:api.dingtalk.com
    x-acs-dingtalk-access-token:String
    Content-Type:application/json

    {
    "userId" : "String",
    "agentId" : Long
    }

  • 获取文件上传信息接口

    POST /v1.0/storage/spaces/{spaceId}/files/uploadInfos/query?unionId=String HTTP/1.1
    Host:api.dingtalk.com
    x-acs-dingtalk-access-token:String
    Content-Type:application/json

    {
    "protocol" : "String",
    "multipart" : Boolean,
    "option" : {
    "storageDriver" : "String",
    "preCheckParam" : {
    "md5" : "String",
    "size" : Long,
    "parentId" : "String",
    "name" : "String"
    },
    "preferRegion" : "String",
    "preferIntranet" : Boolean
    }
    }

  • 使用OSS的header加签方式上传文件
    public static string HttpRequest(string url, string filePath, Dictionary<string, string> headers) {

        FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
        BinaryReader reader = new BinaryReader(fileStream);
        reader.BaseStream.Seek(0, SeekOrigin.Begin);
        byte[] datas = reader.ReadBytes((int)reader.BaseStream.Length);
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "PUT";
        request.Timeout = 150000;
        foreach (var header in headers) {
            request.Headers.Add($"{header.Key}", $"{header.Value}");
        }
        Stream requestStream = null;
        string responseStr = null;
        try {
            if (datas != null) {
                request.ContentLength = datas.Length;
                requestStream = request.GetRequestStream();
                requestStream.Write(datas, 0, datas.Length);
                requestStream.Close();
            } else {
                request.ContentLength = 0;
            }
            HttpWebResponse response = request.GetResponse() as HttpWebResponse;
            responseStr = response.Headers.GetValues("x-oss-request-id")[0];
        } catch (Exception ex) {
            Console.WriteLine("error");
        } finally {
            request = null;
            requestStream = null;
        }
        return responseStr;
    }
  • 提交文件
  • POST /v1.0/storage/spaces/{spaceId}/files/commit?unionId=String HTTP/1.1
    Host:api.dingtalk.com
    x-acs-dingtalk-access-token:String
    Content-Type:application/json

    {
    "uploadKey" : "String",
    "name" : "String",
    "parentId" : "String",
    "option" : {
    "size" : Long,
    "conflictStrategy" : "String",
    "appProperties" : [ {
    "name" : "String",
    "value" : "String",
    "visibility" : "String"
    } ]
    }
    }

 

  

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/846490.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装宝塔后root密码错误,解决宝塔面板root密码问题的方法

如果您在安装宝塔面板后遇到root密码错误的问题,可以尝试以下步骤解决:重置root密码:使用bt default命令重置宝塔面板的root密码。该命令会显示当前的root用户名和密码,您可以根据需要修改密码。 检查SSH登录:确保您可以通过SSH登录到服务器。如果无法通过SSH登录,可能是…

如何在宝塔面板中切换HTTP和HTTPS访问?

在宝塔面板中,您可以根据需要切换HTTP和HTTPS访问。以下是如何进行切换的步骤:打开终端:通过SSH连接到您的服务器,并打开终端。运行bt命令:在终端中输入以下命令,进入宝塔面板的命令行界面: bt选择关闭SSL选项:在命令行界面中,您会看到一个菜单,列出了一系列可选操作…

织梦网站密码怎么修改,如何修改织梦网站的密码

登录后台:打开浏览器,输入您的织梦CMS后台地址,通常是 http://yourdomain/dede。 输入当前的管理员用户名和密码,点击“登录”按钮。进入用户管理:登录成功后,在后台左侧菜单中找到“系统”选项,点击进入“系统用户管理”或“管理员管理”。选择用户:在用户管理页面中,…

如何修改网站首页,如何在网站后台轻松修改网站首页内容

修改网站首页内容可以提升用户体验和SEO效果。以下是具体步骤:登录后台:打开浏览器,输入网站的后台地址,使用管理员账号登录。进入页面管理:在后台左侧菜单栏中选择“内容” -> “页面”。 找到首页对应的页面,点击“编辑”。修改内容:在编辑页面中,修改首页的内容,…

网站首页在后台哪里修改,如何在网站后台中快速修改首页内容

修改首页内容可以提升网站的视觉效果和信息传达效果。以下是如何在网站后台中快速修改首页内容的步骤:登录网站后台:打开浏览器,输入网站的后台地址,例如 http://yourdomain.com/admin。 输入管理员账号和密码,点击“登录”。进入内容管理:登录后,点击顶部菜单栏中的“内…

Ollama-Windows安装Ollama

文章转载自:https://blog.csdn.net/changyana/article/details/143598008 一、. 下载安装Ollama 通过网盘分享的文件:Ollama 链接: https://pan.baidu.com/s/1FFIC5Hah9_Mj3qyasHyOng?pwd=sky1 提取码: sky1二、 安装 双击安装文件,点击「Install」开始安装。目前的Ollama会…

AI工具推荐——Cherry Studio

本文推荐了一个AI工具——Cherry Studio。Cherry Studio介绍 Cherry Studio是一款支持多模型服务的 Windows/macOS GPT 客户端。 它的主要特点如下: 多样化的大型语言模型提供商支持 ☁️ 主要的大型语言模型云服务:OpenAI、Gemini、Anthropic等 🔗 AI网络服务集成:Claude…

如何为优化求解器设定基准?

比较求解器的最佳方法是什么?应该测量什么,如何测量?我应该关心硬件吗?让我们一探究竟! 简介 速度是数学优化求解器最重要的因素。基准测试需要三样东西:可靠的硬件、有代表性的测试数据、强大的测试设置。 将模型整理为文件夹中的 .mps 或 .lp 文件,并使用带有多个随机…

读数据保护:工作负载的可恢复性03构建自己的框架

构建自己的架构1. 构建自己的框架 1.1. 数据保护工作会影响本组织的各个方面1.1.1. 听取各种人员的意见并征得他们的同意,其中有技术人员,也有非技术人员1.1.2. 建立各种评审委员会(review board)1.2. 文档模板1.2.1. 目标阐述1.2.1.1. 尽可能简洁地阐述这份文档的目标,篇幅…

【甲方安全】工业行业:专家必备测试工具与安全资源概览

工业控制系统(ICS)工具 本文介绍了工业控制系统(ICS)安全专家常用的测试工具和安全资源。它涵盖了多种工具,包括网络安全评估、网络拓扑绘制、协议测试、仿真和分析工具,如CSET、GRASSMARLIN、ModbusPenetrationTestingFramework等。此外,文章还列举了多种安全发行套件和…

Conpot:一个开源的工控系统蜜罐

Conpot 是一个 ICS 蜜罐,目的是收集有关针对工业控制系统的对手动机和方法的情报。 使用 Docker 快速安装 安装Docker docker pull honeynet/conpot docker run -it -p 80:80 -p 102:102 -p 502:502 -p 161:161/udp --network=bridge honeynet/conpot:latest /bin/sh conpot -…

【甲方安全】工业行业+如何建设安全防护体系

一、工业控制系统安全现状1.1 工业控制系统概念1.2 工业控制网络发展历程1.3 从国家政策看工业安全重要性1.4 从微软系统蓝屏事件看工控风险1.5 从震网时间看黑客攻击路径 1.6 从2022年工业行业安全攻击态势看风险1.7 工控安全可能面对的挑战二、工业控制系统指南解读三、工控…