开发者社区> 问答> 正文

我在审批流程内添加了一个链接器,这个连接器可以接收附件,我接受到的附件没法处理,如下json

{"CaiGouShiYou":"[{"spaceId":"33271*****","fileName":"4月报销(5).xlsx","fileSize":15859,"fileType":"xlsx","fileId":"1042475*****"}]","ShiYongBuMen":"["济南校区"]"}

CaiGouShiYou是钉钉连接器中的string类型,oa审批时接收的文件,我想将该附件发送给群机器人,但这串json未提供mediaId,而且开发者文档中也未说明,如何使用钉钉群机器人发送文件

展开
收起
20374581 2023-05-11 17:11:29 278 0
1 条回答
写回答
取消 提交回答
  • 发送附件到钉钉群机器人需要先将文件上传到钉钉服务器,获取到上传后的 mediaId,然后通过机器人发送消息时携带该 mediaId 和文件名等信息。以下是基本的实现步骤:

    1. 将审批时接收到的文件上传到钉钉服务器,获取 mediaId。可以通过以下接口实现:

    2. 上传媒体文件接口,详情请参考钉钉开发文档:https://developers.dingtalk.com/document/app/upload-media-files

    3. 在机器人发送消息时,携带 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 的示例代码,可以根据自己的需求自行适配。

    2023-05-12 09:27:02
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载