钉钉发送消息失败是什么原因,为什么钉钉上的消息总是发送失败

首页 > 上门服务 > 作者:YD1662023-12-02 13:38:23

在测试日常工作中经常需要同步目前测试状态和数据给到项目组,邮件通知是一种方式,但容易被忽视,查看不及时,特别是对于线上监控的通知,因此建立实现群消息通知,可以及时的通知到项目组所有人员,且可以@相关人,提高通知效率。

在此简单介绍实现飞书,钉钉两种应用的群消息发送实现,以供参考。

一、飞书群消息发送

飞书群中的消息发送是群内的自定义机器人是通过webhook的形式将你要发送的消息即时发送到群聊中。

具体步骤:

  1. 进入群聊,打开群设置,找到群机器人,并点击添加机器人。选择自定义机器人

钉钉发送消息失败是什么原因,为什么钉钉上的消息总是发送失败(1)

  1. 点击添加该机器人进群,设置机器人头像、名称和描述,然后点击添加
  2. 会自动生成webhook,可根据需要在下方选择安全设置的方式,也可不选,本次选择的是签名校验,保证群消息发送安全性。webhook和key复制保存,点击完成。

钉钉发送消息失败是什么原因,为什么钉钉上的消息总是发送失败(2)

webhook和key要保管好,不可发布到网上,泄露后可能会被恶意发送消息

4. 调用webhook发送消息

用任意方式向该 webhook 发起 HTTP POST 请求,即可向这个自定义机器人所在的群聊发送消息。在消息体中,消息类型与参数msg_type的对应关系如下:

参数(msg_type)

消息类型

text

文本

post

富文本

image

图片

share_chat

分享群名片

interactive

消息卡片

文本消息发送:

#!/usr/bin env python # -*- coding:UTF-8 -*- import os import base64 import requests class alarm: def __init__(self, webhook, user_id): self.webhook = webhook self.user_id = user_id def gen_sign(self, timestamp, secret): # 拼接timestamp和secret string_to_sign = '{}\n{}'.format(timestamp, secret) hmac_code = hmac.new(string_to_sign.encode("utf-8"), digestmod=hashlib.sha256).digest() # 对结果进行base64处理 sign = base64.b64encode(hmac_code).decode('utf-8') return sign def send_text_msg(self): data = self.get_data() res = requests.post(self.webhook, json=data) def get_data(self): data = {"msg_type": "text", "content": {"text": "文本消息告警通知!"}} return data if __name__ == '__main__': web_hook = "https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxx" key = "keystrxxxxxxxx" at_user = "all" alarm = Alarm(web_hook, key, at_user) alarm.send_text_msg()

运行结果:

钉钉发送消息失败是什么原因,为什么钉钉上的消息总是发送失败(3)

富文本消息发送:

def get_data(self): data = { "msg_type": "post", "content": { "post": { "zh_cn": { "title": "测试结果通知", "content": [ [ {"tag": "text", "text": "测试结果:"}, {"tag": "a", "text": "点击查看\n", "href": "https://www.baidu.com"}, {"tag": "at", "user_id": self.user_id} ] ] } } } } return data

发送结果:

钉钉发送消息失败是什么原因,为什么钉钉上的消息总是发送失败(4)

首页 12下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.