用Python实现钉钉发送报警消息,一键提醒

介绍如何用 Python 实现钉钉自动发送消息,你可以用来和报警平台整合,或者做ChatOps。

获取 access token

要使用钉钉发送消息,首先需要获取access token,代码如下:

access token 在2小时内有效,有效期内重复获取返回相同结果,重复获取会使有效期会自动顺延。corp_id 和corp_secret 是企业的 id 和 secret,在钉钉的管理后台可以找到。另外,上面用到了 urllib2 和 json,需要在脚本中引用。

消息类型

钉钉的消息类型分为:text,image,voice,file,link和OA。下面以发送文本,链接和文件消息为例进行说明。

给用户发送消息

发送文本

其中agent_id是一个钉钉应用的id,以钉钉应用的名义给用户发送消息。users是用户id列表,每个用户id是一个字符串。

小编给大家推荐一个学习氛围超好的地方,python交流企鹅裙:四七四五三 四九五一!适合在校大学生,小白,想转行,想通过这个找工作的加入。裙里有大量学习资料,有大神解答交流问题,每晚都有免费的直播课程

发送链接

其中_send_msg_to_users方法参见前面的代码,picUrl字段设置的是钉钉官方的图片,这里用于测试。

发送文件

需要先上传文件获得media_id,然后使用media_id将文件发送给用户。另外,这里用到了poster,可使用pip安装:

pip install poster

之后引入multipart_encode和register_openers函数:

给群会话发送消息

与给用户发送信息类似,区别是需要群会话id,而不是用户列表,以发送文本消息为例,代码如下:

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180428A04QDX00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券