介绍如何用 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,而不是用户列表,以发送文本消息为例,代码如下:
领取专属 10元无门槛券
私享最新 技术干货