Python调用钉钉群机器人发送群消息
1、首先需要一个钉钉群,群才有机器人
2、群设置->智能群助手->添加机器人->自定义机器人
3、添加自定义机器人,配置如下:给机器人命名,选择加签。保存机器人的秘钥、Webhook,python连接机器人需要用到
秘钥:SEC开头的一段字符
Webhook:https://oapi.dingtalk.com/robot/send?access_token=......
4、至此,机器人添加成功
5、下面是python脚本
如需发送到另一个钉钉群,只需求更改脚本里的 Webhook链接 和 secret秘钥 即可
import time import hmac import hashlib import base64 import urllib.parse import requests,json #加签 webhook='https://oapi.dingtalk.com/robot/send?access_token=......' #钉钉机器人webhook timestamp = str(round(time.time() * 1000)) secret = 'SEC......' #钉钉机器人秘钥 secret_enc = secret.encode('utf-8') string_to_sign = '{}\n{}'.format(timestamp, secret) # print(string_to_sign) 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) webhook=webhook+'×tamp='+timestamp+'&sign='+sign print(webhook) #定义数据类型 headers={'Content-Type':'application/json'} data={"msgtype":"text","text":{"content":'机器人将发送该备注20221129'},"isAtAll":True} #发送post请求 res=requests.post(webhook,data=json.dumps(data),headers=headers) print(res.text)
6、执行python脚本即马上给钉钉群机器人发送消息,如图成功发送