钉钉机器人发送表格

背景:

        由于每次发送excel连接,不太好看,想着简单的表格直接用消息的方式发送在群里,就想着弄一个直接发送的表格信息,但是钉钉官网是没有的。

        我估计钉钉的开发人员也没有想过,会有人钻空子,用markdown发送表格。缺陷还是有的,

1、字体大小不能调;

2、收集APP不支持看表格消息,发送的消息会把表格去掉,数据还在。

3、反馈的问题,钉钉并未回复,态度差评。

实践:

发送消息的python

def get_timestamp_sign(signature):timestamp = str(round(time.time() * 1000))secret = signature  # SEC开头的secret_enc = secret.encode('utf-8')string_to_sign = '{}\n{}'.format(timestamp, secret)string_to_sign_enc = string_to_sign.encode('utf-8')hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))return (timestamp, sign)def signatureSendMessageAtAll(message, url, signature):timestamp, sign = get_timestamp_sign(signature)url = url + "&timestamp=" + timestamp + "&sign=" + signh = {"Content-type": "application/json"}values = {'msgtype': 'markdown','markdown': {'title':'技术中心播报系统','text': '%s' % message},'at':{'isAtAll':False}}res = requests.post(url, data=json.dumps(values), headers=h)errmsg = json.loads(res.text)['errmsg']if errmsg == 'ok':return 'ok'return 'fail: %s' % res.text

signature是加签的标签,自定义机器人有的。url是自定义机器人地址

拼装markdown消息代码

def get_business_analysis_data():text = f"<table>" + "\n" \f"  <tr>" + "\n" \f"    <td>   \n\n大区</td>" + "\n" \f"    <td>   区域</td>" + "\n" \f"    <td>   查看率</td>" + "\n" \f"    <td>   留言率</td>" + "\n" \f"    <td>   留言量</td>" + "\n" \f"  </tr>" + "\n" \f"</table>"name=os.path.basename(__file__).split(".")[0]signatureSendMessageAtAll(text, url, signature)

特别注意,\n\n的用法,缺少会导致APP端查看没有数据。不要直接抄代码;发送消息的我已经封装了,贴的是大概。主要是讲text的格式,但凡少点东西,可能就不是表格效果,APP也没有任何数据。

效果:

PC

APP

颜色是这个起作用:
f"    <td>   <font color=\"#008000\">区域</font></td>" + "\n" \

不知道为啥字体大小和字体不支持,试过没反应。

最后呢,期望钉钉开发人员,尽快适配APP的markdown表格,既然能发送表格,那就干脆做好,人微言轻。

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

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

相关文章

三维成像激光雷达标定板可应用于各种领域

激光雷达技术是一种现代光学遥感技术&#xff0c;是传统雷达技术与现代激光技术相结合的产物&#xff0c;是以激光束作为信息载体&#xff0c;可以用振幅、相位、频率和偏振来搭载信息的雷达。 多线激光雷达则是通过多光束形成扫描平面&#xff0c;通过一维旋转机构实现四周的扫…

MySQL——数据类型

目录 一.数据类型分类 二. 数值类型 1.tinyint类型 2.bit类型 3.float类型 4.decimal 三.字符串类型 1.char 2.varchar 四.日期和时间类型 五.enum和set 一.数据类型分类 关于数据库的数据类型有非常多&#xff0c;但是并非所有的数据类型都是我们常用的&#xff…

Java 实现汉字转拼音带音调

代码 import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType; import net.sourcefo…

【亲测】获取百度智能云access_token并存储,百度智能云access_token有效期

百度智能云服务内置很多api接口&#xff08;文字识别&#xff0c;企业信息识别&#xff0c;等&#xff09;&#xff0c;所有百度智能云自带的接口都会用到百度的access_token 第一步&#xff1a;登录百度智能云管理中心 第二步&#xff1a;创建账户&#xff0c;完整身份认证 …

Stm32最小系统板电路设计

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 例如&#xff1a;…

鸿蒙OS应用开发之登录界面

在前面学习了输入文本组件和按钮组件,可以使用这两种组件来实现一些常用的功能,比如登录界面,这种界面是每个程序员经常会到遇到的,比如让用户输入用户名称和密码。 在这里我们就来实现如下面的界面: 在上面界面里,第一个文本框用来输入用户名称,第二个用来输入用户密码…

【CAN】在linux中读取监听控制器局域网CAN数据帧操作 (二) 之 C++代码实现

可以使用 SocketCAN 接口库来实现对 can0 接口的数据帧读取&#xff0c;使用 SocketCAN 接口&#xff0c;将其绑定到 can0 接口&#xff0c;并循环读取接收到的 CAN 数据帧。 #include <iostream> #include <cstring> #include <unistd.h> #include <net…

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻

我的博客即将同步至腾讯云开发者社区&#xff0c;邀请大家一同入驻&#xff1a;https://cloud.tencent.com/developer/support-plan?invite_code654o7zhrylh8

TypeScript基础知识

目录 关键字 JavaScript关键字 TypeScript关键字 TypeScript 基础类型 声明变量 声明变量的方式 变量命名规则 变量作用域 TypeScript 运算符 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 三元运算符 类型运算符 关键字 JavaScript关键字 abstract …

2023西工大NOJ (C语言版) 持续更新ing

目前更新到70题&#xff01; 目前WA&#xff1a;飞机起飞速度&#xff1b;字符串替换&#xff1b;GPS通信协议。 前言 代码均可AC&#xff0c;解析参见我的博客 NOJ(C)易错总结 (annesede.github.io)。&#xff08;已更新到70题&#xff01;&#xff09; 部分题目由于过于简…

python玩具电商销售数据可视化和商品推荐系统设计与实现(django框架)

博主介绍&#xff1a;黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者&#xff0c;CSDN博客专家&#xff0c;在线教育专家&#xff0c;CSDN钻石讲师&#xff1b;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程&#xff…

老杨说运维 | 年末大盘点!擎创CEO实时盘点运维大干货,不容错过

2023年即将走到尾声&#xff0c;对于擎创而言&#xff0c;这一年是颇具成长和成就的一年。我们庆幸获得了更多客户的信任&#xff0c;也为他们达到下一个运维阶段提供了充足的助力。 越多的实践就会带来越多新的理解和可优化的经验。这一年来&#xff0c;擎创在运维数据治理、智…

docker搭建maven私库Nexus3

什么是Maven私服&#xff1f; Maven 私服是一种特殊的Maven远程仓库&#xff0c;它是架设在局域网内的仓库服务&#xff0c;用来代理位于外部的远程仓库&#xff08;中央仓库、其他远程公共仓库&#xff09;。 当然也并不是说私服只能建立在局域网&#xff0c;也有很多公司会…

唯创知音WTN6xxx-8S语音芯片:精准内部震荡与无需外部震荡的优势及应用

在当前的集成电路市场中&#xff0c;唯创知音推出的WTN6xxx-8S语音芯片以其独特的优势和应用领域&#xff0c;吸引了众多工程师和设计师的关注。这款语音芯片不仅具有精准的/-1%内部震荡&#xff0c;还消除了对外部震荡器的需求&#xff0c;从而在语音处理和控制方面达到了新的…

使用静态HTTP提供动态内容

在Web开发中&#xff0c;静态HTTP和动态HTTP常被视作两种截然不同的技术。静态HTTP主要用于传输不变的内容&#xff0c;如HTML、CSS和JavaScript文件&#xff0c;而动态HTTP则能处理用户交互、实时数据等动态需求。但鲜为人知的是&#xff0c;我们其实可以通过一些技巧&#xf…

vue中 把vue页面导出为 html页面

vue导出文件后缀为html的页面 震惊&#xff01;我司要求我把数据融合起来&#xff0c;导出用html的方式展示&#xff0c;请看下面示例 <template><div><el-button click"gethtml">导出报告</el-button><div id"main"><…

高通8255芯片烧写方法

目录 一&#xff1a;高通官方提供软件下载 QPM&#xff08;Qualcomm Package Manager&#xff09; 二&#xff1a;烧写驱动程序下载 USB Drivers 三&#xff1a;烧写工具下载QCAT 四&#xff1a;QCAT软件使用 4.1串口选择 4.2 烧写选项配置 4.3 开始烧写下载 4.4烧写成…

若依打包将vue放到.jar里面部署

1.vue静态文件&#xff0c;以及单页面 ruoyi-admin\src\main\resources\static \ruoyi-admin\src\main\resources\templates 2.后台开放白名单 "/cms", "/cms#/login" 3. mvc访问vue页面入口&#xff0c;接口 package com.ruoyi.web.controller.syst…

基于springboot实现的健身房管理系统

一、系统架构 前端&#xff1a;html | js | css | jquery | bootstrap 后端&#xff1a;springboot | springdata-jdbc 环境&#xff1a;jdk1.7 | mysql | maven 二、代码及数据库 三、功能介绍 01. 登录页 02. 管理员-首页 03. 管理员-会员卡查询 04. 管理员-会员管理…

新零售ERP软件功能有哪些?新零售ERP系统哪个操作简单

新零售企业通常存在多仓库、多营销渠道、多业务模式、价格策略灵活、供应链复杂等情况&#xff0c;如何实现配送、财务、客户、订单、仓储等业务数据一体化和智能化管理&#xff0c;是不少新零售企业需要解决的难点。 随着新零售企业数量不断增多&#xff0c;行业之间的竞争也…