环境:python3.x
使用模块:requests,json
一:创建钉钉群聊机器人
第一步,创建一个钉钉群聊自定义机器人
记住加签的密钥,忘记后也可在创建成功后查看(这里使用加签的方式)
完成后会有webhook地址出现,保存,可以用
二.创建完成后获取时间戳和签名
#python 3.8 import time import hmac import hashlib import base64 import urllib.parse timestamp = str(round(time.time() * 1000)) secret = 'this is 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
三.尝试发送信息
发送格式:
curl ‘https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx’
-H ‘Content-Type: application/json’
-d ‘{“msgtype”: “text”,“text”: {“content”: “我就是我, 是不一样的烟火”}}’
import requests import json class dd: def req(self): #把第二步中获取到的 timestamp和sign拼接到URL中 url = 'https://oapi.dingtalk.com/robot/send?access_token=40093a95345619e8ca31cce66f8c6d6e670c3b5a8a3b2e22cd9bad79fec80ff4' \ '×tamp=1601026767952' \ '&sign=i1Qw0dOEQ7WLttuyRihZEGsJmCY%2BNpx2d4At53XaMKo%3D' h = {'content-type': 'application/json', 'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0'} #d里面的at参数是需要at的人参数,只有at的人存在这个参数里面才会@成功 d = json.dumps({"msgtype": "text", "text": {"content": "嗯哼@157xxxx1995"}, "at": {"atMobiles": ["156xxxx8827","157xxxx1995"], "isAtAll": "false"}}) req = requests.post(url, data=d, headers=h) print(req.text) if __name__ == '__main__': dd().req()
运行后群里就会出现
ok,这样我们就完成了python操作钉钉群机器人发送消息的操作了,是不是很方便,
我们以后可以在自动化测试出现问题或者中断的时候使用钉钉自动艾特相关人员了,哈哈哈
其他的几种安全设置也可以操作,在钉钉开发文档里面,自己可以看下,机器人发图片或者文档啥的都可以,在文档里面都有示例,不懂得就问~~
此文转载文,著作权归作者所有,如有侵权联系小编删除!
原文地址:https://blog.csdn.net/saber_sss/article/details
完整项目代码获取点这