钉钉机器人功能解析:如何实现第三方服务信息自动化同步

许多公司依靠阿里巴巴拥有的Office软件DingTalk进行远程工作。当然,DingTalk确实很难描述。它很难使用以及使用多么困难。这确实使人们感到只能使用阿里巴巴的PMS。如果要使用该产品,则必须使用它。

钉钉机器人功能解析:如何实现第三方服务信息自动化同步

将私人消息发送给编辑01以获取大量Python学习材料

尽管DingTalk的其他功能是无用的,但机器人函数仍然引人注目,并且是一个相对怪异的函数。它可以将信息从第三方服务汇总到DingTalk组,以实现信息的自动同步。

例如:通过汇总源代码管理服务(例如GitHub和GitLab),可以实现源代码更新同步;通过汇总Trello和Jira等项目协调服务,可以实现项目信息同步;同时,它支持对Webhook协议的自定义访问,并支持更多可能性,例如:汇总操作和维护警报提醒,自动测试结果报告提醒,工作和生活时间表工作,健身,阅读,生日,周年纪念日...)和其他提醒,通过指甲定制机器人指甲。

但是,一些关于DingTalk机器人的策略相对较古老,许多代码基于Python2。为了与时代保持同步,我们尝试使用Python3.7来开发和配置DingTalk自定义机器人。

首先,很明显,DingTalk自定义机器人早已在手机上不再支持创建,因此请打开您的PC或Mac Dingtalk客户端,然后单击需要机器人的聊天组接口上的智能组助理。

然后单击添加机器人按钮

​

目前,我们可以看到许多包装的第三方机器人。这次我们选择自定义机器人

​

值得一提的是,DingTalk的机器人基于Webhook协议。 Webhook是一个API概念,是微服务API的使用范例之一,也已成为反向API,也就是说,前端并未积极发送请求,并且被后端完全推动。 ,如果我有机会,我将写一篇特别的文章来解释网络钩

在添加机器人接口中,填写一些机器人信息

​

应该注意的是,在“安全设置”列中,我们选择添加符号以验证。在这里,我们解释说,有三种用于DingTalk机器人的安全策略。首先是使用关键字,这意味着在您按下创建机器人时定义的关键字的消息中,必须包括在内。如果不包括在内,则无法按下消息。第二个是使用加密签名。第三个是定义多个IP源。这些来源不是来自这些来源的请求将被拒绝。总体而言,它仍然是第二种是安全且灵活的。

​

创建成功后,系统将为您分配一个Webhook地址。此地址需要保存。地址中有一个独特的访问。

好的,那么您如何使用此地址来制作机器人推消息?检查官方文件:ding-doc.dingtalk.com/doc#/serverm

我发现该文档实际上是Python 2.0的版本。好的,让我们自己将其翻译成3.0。

import time
import hmac
import hashlib
import base64
import urllib.parse
timestamp = str(round(time.time() * 1000))
secret = 'SEC90485937c351bfaed41fea8eda5f1e155bbf22842d5f9d6871999e05822fd894'
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(base64.b64encode(hmac_code))
# print(timestamp)
# print(sign)
import requests,json #导入依赖库
headers={'Content-Type': 'application/json'} #定义数据类型
webhook = 'https://oapi.dingtalk.com/robot/send?access_token=f0ca7636f5812fe4815c97a72de9a7cc780c414c258b6c9a631036b1d0f49e3b×tamp='+timestamp+"&sign="+sign
#定义要发送的数据
#"at": {"atMobiles": "['"+ mobile + "']"
data = {
"msgtype": "text",
"text": {"content": '都谁没加到群里来?小心升不了班'},
"isAtAll": True}
res = requests.post(webhook, data=json.dumps(data), headers=headers) #发送post请求
print(res.text)

推动效果如下:

​

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

31阅读

外国教程python,python编程教学视频

2026年09月02日

25阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

26阅读

python教程大全集,python教程600集

2026年09月02日

26阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

22阅读