办公利器:用Python向钉钉发送消息

钉钉作为目前最热门的办公软件,在工作中大多数时间都在与他打交道。今天和大家分享一下如何用Python向钉钉发送消息,最终达到每日自动向指定群中发送销售日报。

新建群机器人

首先打开群设置,点击智能群助手。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Foj5cKWB-1655343303879)(https://files.mdnice.com/user/19180/0c5981b9-51dc-46e7-af7e-3ea2fcb1042a.png)]

选择添加自定义机器人

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zRzGWVBg-1655343303882)(https://files.mdnice.com/user/19180/63090ee0-cd8f-46b0-a022-ca58c1d59e68.png)]

然后根据提示添加一下信息,建议选择安全设置的前两项,这里加签的密钥需要保存一下,后面会用到。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GPzozI5R-1655343303883)(https://files.mdnice.com/user/19180/13b24511-e995-4ed6-93d7-a520accdcf6d.png)]

点击完成后就会生成一个Webhook地址,这个地址和密钥不要随便公布出来,放在外部网站上会存在安全隐患。

获取签名值

我们此时已经获取了密钥和Webhook,先将密钥解析得到时间戳(timestamp)以及签名值(sign),代码如下。

import time
import hmac
import hashlib
import base64
import urllib.parsetimestamp = str(round(time.time() * 1000))
secret = '填入你的密钥'
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))
print(timestamp)
print(sign)

timestamp,sign作为两个关键参数,把它们与Webhook拼接。

https://oapi.dingtalk.com/robot/send?access_token=XXXXXX&timestamp=XXX&sign=XXX

access_token参数的值在创建机器人时已经包含在Webhook中,这里只需传入timestamp与sign的值即可得到完整的Webhook

钉钉消息类型

钉钉消息类型多种,可根据需要选择发送的消息类型。

官方文档:https://open.dingtalk.com/document/robots/custom-robot-access

我使用的是Markdown格式,目前只支持基础的Markdown语法,一开始以为是谦虚,亲测后发现确实不支持,HTML语法也仅仅支持很小一部分。

标题
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题引用
> A man who stands for nothing will fall for anything.文字加粗、斜体
**bold**
*italic*链接
[this is a link](http://name.com)图片
![](http://name.com/pic.jpg)无序列表
- item1
- item2有序列表
1. item1
2. item2

Python发送请求

整体代码并不复杂,代码如下。

import time
import hmac
import hashlib
import base64
import urllib.parse
import datetime
import jsontimestamp = str(round(time.time() * 1000))
secret = '填入你的密钥'
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))
print(timestamp)
print(sign)url = f'https://oapi.dingtalk.com/robot/send?access_token=xxxx&timestamp={timestamp}&sign={sign}'def send_request(url, datas):header = {"Content-Type": "application/json","Charset": "UTF-8"}sendData = json.dumps(datas)sendDatas = sendData.encode("utf-8")request = urllib.request.Request(url=url, data=sendDatas, headers=header)opener = urllib.request.urlopen(request)# 输出响应结果print(opener.read())def get_string():'''自己想要发送的内容,注意消息格式,如果选择markdown,字符串中应为包含Markdown格式的内容例:"<font color=#00ffff>昨日销售额:XXX</font> \n <font color=#00ffff>昨日销量:XXX</font>"'''return "- 测试1 - 测试2"def main():# isAtAll:是否@所有人,建议非必要别选,不然测试的时候很尴尬dict = {"msgtype": "markdown","markdown": {"title": "销售日报","text": ""},"at": {"isAtAll": False}}#把文案内容写入请求格式中dict["markdown"]["text"] = get_string()send_request(url, dict)main()

如果还有不清楚的地方,可以直接私信或参考官方文档。

https://open.dingtalk.com/document/robots/robot-overview

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

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

相关文章

调用钉钉接口实现机器人推送消息

调用钉钉接口实现机器人推送消息 文章目录 调用钉钉接口实现机器人推送消息0 内容简介1 钉钉群设置2 创建自定机器人3 API开发3.1 RDS(MySQL)数据库对象类3.2 钉钉自定义机器人对象类3.3 时间调度与执行主类 0 内容简介 ​ 钉钉群机器人是一个高级扩展功能&#xff0c;只要有一…

钉钉企业通知消息接口(一)

车辆管理系统需要及时发送通知给钉钉用户&#xff0c;实现和钉钉的对接。 接口调用采用平台&#xff1a; GET和POST测试 目前采用的是 发送企业通知消息 - 企业通知消息发送主体是企业&#xff0c;体现在接收方手机上的联系人是你填写的agentid对应的微应用。 调用接口时&…

调用钉钉接口--发送工作通知消息

前言 钉钉目前是管理公司比较常用的软件&#xff0c;为了完善公司的管理制度,为了加强公司的管理模式,所以现在需要调用钉钉的发送消息的接口,进行企业通知消息的发送. 叙述 准备工作 获取appKey和appSecret 登入oa管理后台&#xff0c;点击“工作台”&#xff0c;点击“自…

钉钉机器人推送和抓取钉钉群消息

前言 1.钉钉机器人能干什么&#xff1f; 摘抄&#xff1a; 群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中&#xff0c;实现自动化的信息同步。目前&#xff0c;大部分机器人在添加后&#xff0c;还需要进行Webhook配置&#xff0c;才可正常使…

【办公自动化】Python自动向钉钉群组发送文件

场景&#xff1a;定期将号码标记信息以文件形式返回给不同的供应商群组。那么&#xff0c;对于本地文件&#xff08;图片或excel、csv等&#xff09;&#xff0c;如何实现自动发送到特定群组&#xff1f;本文将通过Python钉钉小程序实现该功能。 目录 1.创建钉钉小程序并配置…

【分享】零代码连接钉钉宜搭与钉钉智能人事,轻松管理员工信息

客户介绍 烟台某知名食品有限公司是中国海洋水产企业&#xff0c;专注海洋水产品贸易、深加工30余年&#xff0c;集海洋食品的科研开发、生产、全球销售一体的现代化企业集团旗下的一家子公司。成立于1992年&#xff0c;位于美丽的芝罘岛&#xff0c;占地面积约4万平方米&…

调用钉钉API发送消息通知给个人或部门

先让公司行政将你设置为管理员&#xff1a; 需要拥有的权限为&#xff1a;工作台管理,开发者权限。 登录钉钉管理后台&#xff1a; https://oa.dingtalk.com 首先&#xff0c;在开发者账号管理中添加ip白名单 https://open-dev.dingtalk.com/ 开发者信息》开发者账号管理…

接口自动化发送钉钉群消息

一&#xff0c;新建钉钉机器人 1.钉钉群右上角点击群设置&#xff0c;选择智能群助手&#xff0c;点击添加机器人,选择自定义机器人&#xff1b; 2.给机器人起个名字&#xff0c;消息推送开启&#xff0c;复制出webhook&#xff0c;后面会用到&#xff0c;勾选自定义关键词&am…

钉钉考勤对接

一、钉钉依赖包引用 <!--钉钉依赖--><dependency><groupId>com.aliyun</groupId><artifactId>alibaba-dingtalk-service-sdk</artifactId><version>2.0.0</version></dependency>二、创建应用 三、获取应用凭证 四、…

python发送钉钉消息

大家在工作中经常需要采集测试结果或生产告警&#xff0c;然后将信息处理后&#xff0c;通过自定义机器人来发送消息并到对应的人&#xff0c;让他们进行后续的处理&#xff1b; 今天我们就来把如何创建机器人&#xff0c;如何去发送消息&#xff0c;这个简单的流程给手把手的…

python实现发送钉钉消息

需求&#xff1a;企业部门本地部署的缺陷管理工具&#xff0c;企业内部使用钉钉进行工作交流&#xff0c;老板想让每天汇报项目的测试情况&#xff1b; 设计思路&#xff1a; 1、创建钉钉群机器人&#xff0c;每天发送项目测试信息&#xff08;缺陷数量、关闭数量、修复数量、…

Tio实现检测客户端是否在线发送钉钉群消息

文章目录 1.背景2.服务端实现2.1 服务端pom依赖和yml配置2.2 tio服务端WsMsgHandlerServer2.3 xxl-job定时任务扫描客户端是否在线然后发钉钉群告警消息 3.客户端实现3.1 客户端的pom依赖和yml配置3.2 客户端重试和心跳实现 4.客户端和服务端的demo分享 1.背景 Tio的官网 http…

接入钉钉API发送企业消息

工作中有个需求&#xff0c;是要把录入的销售机会由系统自动分配给销售&#xff0c;然后对接钉钉给销售人员发送企业消息&#xff0c;通知他进行跟单。 1. 获取Access_Token Access_Token是企业访问钉钉开放平台全局接口的唯一凭证&#xff0c;即调用接口时需携带Access_Token…

钉钉通知-调用钉钉发送企业内部消息开发

首先&#xff0c;我们要明确需求&#xff1a;自己的系统需要发送通知消息到用户&#xff0c;接收消息用户为同一企业内的人员&#xff0c;选用短信可能涉及到费用问题&#xff0c;故可以选用钉钉或者企业微信&#xff0c;在此我使用钉钉进行发送消息。 调用钉钉发送企业内部消…

Prometheus+Alertmanager+webhook-dingtalk实现钉钉告警

文章目录 一、前提准备及规划二、安装及启动2.1 Prometheus安装启动2.2 Node_export安装启动2.3 Alertmanager安装启动2.4 Webhook-dingtalk安装启动 三、配置及测试3.1 Webhook-dingtalk配置钉钉webhook地址3.2 Alertmanager配置钉钉告警3.3 Prometheus集成Alertmanager及告警…

和chatgpt学架构02-环境搭建

目录 1 安装vs code2 vs code功能介绍3 安装nodejs4 安装vue5 在vs code打开工程总结 我们在上一篇 技术选型 里咨询了chatgpt前后端的框架选择和数据库的选择。有了框架之后就需要选择合适的开发工具了&#xff0c;继续咨询一下chatgpt 我现在选型&#xff0c;前端使用vue&am…

〖编程初学者的自我修养 - 职业规划篇①〗- 大学生选择职业前的自我认知与剖析

历时18个月&#xff0c;采访 850 得到的需求。 不管你是在校大学生、研究生、还是在职的小伙伴&#xff0c;该专栏有你想要的职业规划、简历、面试的答案。说明&#xff1a;该文属于 编程初学者的自我修养 专栏&#xff0c;购买任意白宝书体系化专栏可加入易编程社区&#xff0…

谷歌Bard被曝剽窃ChatGPT?BERT一作跳槽OpenAI,揭惊天内幕

【导读】谷歌有大麻烦了&#xff01;外媒爆料说&#xff0c;Bard的训练数据部分来自ChatGPT。谷歌可能跳到黄河里也洗不清了。 3月29日&#xff0c;外媒The Information曝出了一个惊天大瓜&#xff01; 谷歌的离职员工、已跳槽OpenAI的顶级研究员竟然曝出——Bard竟是用ChatG…

人工智能AIGC最新综述:从 GAN 到 ChatGPT 的AI生成历史

一句话总结 本综述全面回顾了生成模型的历史、基本模型组件、AIGC从单模态交互和多模态交互的最新进展&#xff0c;以及模态之间的交叉应用&#xff0c;最后讨论了AIGC中存在的开放问题和未来挑战。 摘要 最近&#xff0c;ChatGPT 与 DALL-E-2 和 Codex 一起受到了社会的广泛关…

ChatGPT is not all you need,一文综述6大公司9类生成式AI模型

关注并星标 从此不迷路 计算机视觉研究院 公众号ID&#xff5c;ComputerVisionGzq 学习群&#xff5c;扫码在主页获取加入方式 计算机视觉研究院专栏 作者&#xff1a;Edison_G 生成模型领域里&#xff0c;ChatGPT 并不是一切。 转自《机器之心》 过去两年&#xff0c;AI 领域里…