美文网首页
用Python向钉钉发送消息

用Python向钉钉发送消息

作者: 简单点的笨演员 | 来源:发表于2023-04-26 15:28 被阅读0次

一、新建群机器人

首先手机版钉钉创建一个群,在电脑版钉钉打开群设置,点击机器人:


下一步,选择“Webhook”的机器人:


Webhook

下一步,要选择“加签”,复制里面的密钥,保存好后面要用:


加签

下一步,复制里面的Webhook地址,保存好后面要用:


Webhook地址

二、代码

使用上面的密钥修改SECRET ,使用上面的Webhook地址修改WEBHOOK_URL ,即可:

import time
import hmac
import hashlib
import base64
import urllib.parse
import json
import urllib.request

SECRET = 'xxxxxxxxxx'
WEBHOOK_URL = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxx'

'''
消息内容常用Markdown格式:

标题
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

引用
> 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
'''

def send_message(title: str, text: str, isAtAll: bool):
    timestamp = str(round(time.time() * 1000))
    secret = f'{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))
    url = f'{WEBHOOK_URL}&timestamp={timestamp}&sign={sign}'

    header = {
        "Content-Type": "application/json",
        "Charset": "UTF-8"
    }
    data = {
        "msgtype": "markdown",
        "markdown": {"title": title,
                     "text": text
                     },
        "at": {
            "isAtAll": isAtAll      # isAtAll:是否@所有人
        }
    }
    sendData = json.dumps(data)
    sendDatas = sendData.encode("utf-8")
    request = urllib.request.Request(url=url, data=sendDatas, headers=header)
    opener = urllib.request.urlopen(request)
    ret = opener.read()
    # 输出响应结果
    print(ret)

if __name__ == '__main__':
    send_message("this is title", 'this is message **bold**', True)

三、参考

办公利器:用Python向钉钉发送消息 --- blog.csdn.net/qq_43965708/article/details/125309826

相关文章

网友评论

      本文标题:用Python向钉钉发送消息

      本文链接:https://www.haomeiwen.com/subject/cupvjdtx.html