python3.7+钉钉API实现自动发送文件消息
需求:每天固定时间需要向钉钉群推送数据文件
1.由于钉钉群机器人推送消息类型只支持text,link,markdown等形式,并不支持文件和图片类媒体文件的推送,所以咱们这里就需要用到钉钉的API接口来实现了,进入钉钉开放平台:
在这里咱们是可以看到支持文件类消息的,下面怎么实现呢
2.群消息的推送是需要三个参数的,access_token(调用接口凭证),chatid(群会话id,可以通过jsapi工具获取,后边详情介绍),msg(步骤1),咱们一个一个参数来看
3.access_token:
def getAccess_token():
url = 'https://oapi.dingtalk.com/gettoken?appkey=********&appsecret=*******'
appkey = '*********' # 管理员账号登录开发者平台,应用开发-创建应用-查看详情-appkey
appsecret = '********' # 应用里的appsecret
headers = {
'Content-Type': "application/x-www-form-urlencoded"
}
data = {
'appkey': appkey,
'appsecret': appsecret}
r = requests.request('GET', url, data=data, headers=headers)
access_token = r.json()["access_token"]
return access_token
4.msg中的media_id:
钉钉推送媒体文件需要先上传至媒体文件中,生成一个独立的media_id,然后进行调用才可以
access_token和type两个参数都显然没有问题,这个media_id怎么传递呢,它需要的是文件名为media,并且包含filelength、content-type等信息,咱们可以把需要上传的文件放在files的参数里来实现
def getMedia_id():
access_token =