钉钉作为目前最热门的办公软件,在工作中大多数时间都在与他打交道。今天和大家分享一下如何用Python向钉钉发送消息,最终达到每日自动向指定群中发送销售日报。
新建群机器人
首先打开群设置,点击智能群助手。
选择添加自定义机器人
然后根据提示添加一下信息,建议选择安全设置的前两项,这里加签的密钥需要保存一下,后面会用到。
点击完成后就会生成一个Webhook
地址,这个地址和密钥不要随便公布出来,放在外部网站上会存在安全隐患。
获取签名值
我们此时已经获取了密钥和Webhook
,先将密钥解析得到时间戳(timestamp)以及签名值(sign),代码如下。
import time import hmac import hashlib import base64 import urllib.parse timestamp = 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×tamp=XXX&sign=XXX
access_token参数的值在创建机器人时已经包含在Webhook
中,这里只需传入timestamp与