参数说明

1. 文件发送接口参数

参数

是否必填

说明

msgtype

消息类型,此时固定为file

content

文件id,通过下文的文件上传接口获取

2. 文件上传接口参数

素材上传得到media_id,该media_id仅三天内有效

media_id只能是对应上传文件的机器人可以使用

请求方式​:POST(HTTPS)

请求地址​:https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=KEY&type=TYPE

上传的文件限制​:要求文件大小在5B~20M之间

使用multipart/form-data POST上传文件, 文件标识名为”media”

参数

是否必填

说明

key

调用接口凭证, 机器人webhookurl中的key参数

type

固定传file

3. 返回参数

{
"errcode": 0,
"errmsg": "ok",
"type": "file",
"media_id": "1G6nrLmr5EC3MMb_-zK1dDdzmd0p7cNliYu9V5w7o8K0",
"created_at": "1380000000"
}

参数

是否必填

说明

key

媒体文件类型,分别有图片(image)、语音(voice)、视频(video),普通文件(file)

media_id

媒体文件上传后获取的唯一标识,3天内有效

created_at

媒体文件上传时间戳

效果展示

python推送企业微信机器人5-文件类型_json

Demo Code

# -*- coding: utf-8 -*-
# coding:unicode_escape
# Created on 2021年12月31日

# @author: LinHuang(Joker)

import requests
import json


# mian function
def main():

oFileUploadUrl = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=50d640d9-9ad6-4d39-98aa-c94c2002e6d4&type=file'
oWX_URL = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=50d640d9-9ad6-4d39-98aa-c94c2002e6d4'
filePath='C:\\Users\\QDM\Desktop\\722513_E_20211211.pdf'
filename="722513_E_20211211.pdf"
payload={'Content-Disposition': 'form-data','name': 'media','filename': filename}
files=[('boundary', ('%s' % filename, open('%s' % filePath, 'rb'), 'application/pdf'))]
headers = {}

try:
response = requests.request("POST", oFileUploadUrl, headers=headers, data=payload, files=files,timeout=5)
except Exception as e:
print(e.args[0])

json_res = response.json()
media_id = json_res['media_id']
if media_id != "":
data = {"msgtype": "file",
"file": {
"media_id": media_id
}
}
headers = {'Content-Type': 'application/json'} # 指定提交的是json
try:
response = requests.post(
url=oWX_URL, json=data, headers=headers, timeout=5)
except Exception as e:
print(e.args[0])


if __name__ == '__main__':

main()