{"CaiGouShiYou":"[{"spaceId":"33271*****","fileName":"4月报销(5).xlsx","fileSize":15859,"fileType":"xlsx","fileId":"1042475*****"}]","ShiYongBuMen":"["济南校区"]"}
CaiGouShiYou是钉钉连接器中的string类型,oa审批时接收的文件,我想将该附件发送给群机器人,但这串json未提供mediaId,而且开发者文档中也未说明,如何使用钉钉群机器人发送文件
发送附件到钉钉群机器人需要先将文件上传到钉钉服务器,获取到上传后的 mediaId,然后通过机器人发送消息时携带该 mediaId 和文件名等信息。以下是基本的实现步骤:
将审批时接收到的文件上传到钉钉服务器,获取 mediaId。可以通过以下接口实现:
上传媒体文件接口,详情请参考钉钉开发文档:https://developers.dingtalk.com/document/app/upload-media-files
在机器人发送消息时,携带 mediaId 和文件名等信息,使用发送群消息接口发送。请求参数中的 msgtype 需要设置为 file,同时需要携带 media_id 和 file_name 参数。示例代码如下:
import requests
import json
# 定义请求参数
url = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxx'
headers = {'Content-Type': 'application/json;charset=utf-8'}
data = {
'msgtype': 'file',
'file': {
'media_id': 'xxxxxxxx',
'file_name': '4月报销(5).xlsx'
}
}
# 发送请求
response = requests.post(url, headers=headers, data=json.dumps(data))
# 处理响应
if response.status_code == 200:
print('发送成功')
else:
print('发送失败,错误码:', response.status_code)
以上是 Python 的示例代码,可以根据自己的需求自行适配。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。