钉钉机器人发送表格

背景:

        由于每次发送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.hqwc.cn/news/284874.html

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

相关文章

自动化生成测试脚本,点点点搞定性能测试!

性能测试基于jmeter引擎&#xff0c;目前版本暂时没有设计存储于数据库&#xff0c;因此测试过程和结果数据都是属于实时一次性的&#xff0c;需要手动监控和保存数据。环境需要安装jdk1.8版本&#xff0c;当前Jmeter版本是5.6.2&#xff0c;把文件以及包含的报告汉化包放到Aut…

Stable Diffusion - High-Resolution Image Synthesis with Latent Diffusion Models

Paper name High-Resolution Image Synthesis with Latent Diffusion Models Paper Reading Note Paper URL: https://arxiv.org/abs/2112.10752 Code URL: https://github.com/CompVis/latent-diffusion TL;DR 2021 年 runway 和慕尼黑路德维希马克西米利安大学出品的文…

VRP的分解策略

关键词 vehicle routing, heuristics, decomposition strategies 文章概述 本文讨论了车辆路径规划启发式算法的分解策略。分解策略包括确定子问题的大小、相关性信息、子问题的解决技术以及利用子问题解的方法。选择合适的子问题大小是控制难度和改进潜力的关键因素。相关性…

项目实战:自动驾驶之方向盘操纵

项目介绍 根据汽车前方摄像头捕捉的画面,控制汽车方向盘转动的方向和角度,这是自动驾驶要解决的核心问题。这个项目主要是通过使用深度神经网络解决一个回归问题。不同于分类、识别场景,回归问题中神经网络输出的是一个连续的值。 通过这个项目的学习,可以将神经网络用于通…

如何用 Cargo 管理 Rust 工程系列 丁

以下内容为本人的学习笔记&#xff0c;如需要转载&#xff0c;请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/PP9b5cSNd-7IqgNovcrB0A 优化输出 前面已经对 cargo package 工程编译输出了好多遍&#xff0c;发现编译结果打印的信息都包含了这个 unoptimize…

cdr格式怎么打开?cdr文件查看工具CDR Viewer功能介绍

CDRViewer Pro for Mac是一款专业的矢量图形文件查看器&#xff0c;主要用于打开、浏览和查看CorelDRAW&#xff08;CDR&#xff09;文件。以下是该软件的主要功能和特点&#xff1a; CDR文件支持&#xff1a;CDRViewer Pro可以快速加载和显示CorelDRAW&#xff08;CDR&#x…

SpringCloud系列(五)| 集成OpenFeign实现服务间调用

前面的案例中我们已经搭建好了SpringCloud的基本架构。目前主要就是三个服务。一个Nacos服务&#xff0c;目前作为我们的注册中心&#xff0c;一个用户服务&#xff0c;一个订单服务。上个章节中&#xff0c;我们已经成功的将用户服务和订单服务注册到了Nacos中&#xff0c;并且…

Linux权限(下)

目录 文件访问权限的设置和更改 粘滞位 权限掩码 本期我们接着进行Linux权限的学习。 文件访问权限的设置和更改 在上期我们学习了文件的访问权限&#xff0c;这些访问权限其实是可以更改的。 chmod指令 chmod指令&#xff1a;用于设置访问权限和更改权限。 :向权限范围…

产品调研——AI平台

本文主要记录了对腾讯云-TIONE平台、华为云-ModelArt等主流AI平台的产品调研。 交互式建模 简单点说就是提供了带训练资源的云IDE&#xff0c;使用形态包括Notebook、VsCode等。 腾讯云-TI平台 TI平台将tensorflow、pytorch、spark环境等均集成到一个Notebook容器中&#xf…

【Java 集合】ArrayBlockingQueue

ArrayBlockingQueue, 顾名思义: 基于数组的阻塞队列, 位于 JUC (java.util.concurrent) 下, 是一个线程安全的集合, 其本身具备了 不支持 null 元素: 存入 null 元素会抛出异常固定容量: 在初始化时需要指定一个固定的容量大小。这意味着一旦队列达到最大容量&#xff0c;将不再…

人工智能原理课后习题(考试相关的)

文章目录 问答题知识表示一阶谓词逻辑表示法语义网络表示法 确定推理谓词公式永真和可满足性内容归结演绎推理 不确定推理主观贝叶斯可信度方法证据理论 搜索策略机器学习 问答题 什么是人工智能&#xff1f; 人工智能就是让机器看起来像人类表现出的智能水平一样 人工智能就是…

磁盘及文件系统(上)

这次博客我们将重点理解Ext2文件系统。 首先我们要理解什么是文件系统。 在之前我们一直理解的文件都是一个被打开的文件&#xff0c;而os为了能够管理这样的文件创建了struct_file这样的结构体对象在内核中描述被打开的文件&#xff0c;这个结构体对象中包含了被打开文件的基…