首页/新闻资讯/正文详情

企业微信接口开发实战:如何让机器人支持图片、文件与富媒体消息

发布时间:2026/9/25 5:02:16 来源:云帆数科 栏目:资讯中心
企业微信接口开发实战:如何让机器人支持图片、文件与富媒体消息
最近做的企微二开机器人要支持发图片、文件、富文本卡片。之前只做文本消息做完发现富媒体消息的处理和文本完全不同——接收要下载、发送要构造、存储要管理、兼容性要考虑。把踩过的坑记下来。底层用的是Eyun 平台开放的企微 API承接消息收发和文件管理本文重点不在调接口在富媒体消息怎么接收、处理、发送。接收图片不只是下载客户发图片机器人要能看懂。接收流程拿到图片消息回调带 fileId调 CDN 接口下载图片到本地或 OSSOCR 识别图片文字如果是截图多模态模型理解图片内容如果是实物照片把理解结果作为文本存入消息上下文def handle_image_message(msg): file_path cdn_api.download(msg.file_id, save_tooss) if is_screenshot(file_path): text ocr_engine.recognize(file_path) return {type: image_screenshot, text: text} else: description vision_model.describe(file_path) return {type: image_photo, description: description}关键坑图片下载要异步不能阻塞回调OCR 和视觉理解要超时控制模型慢了回调就超时。下载完存 OSS本地不留文件不然磁盘爆。接收文件类型识别和存储客户发文件机器人要识别是什么文件文档类PDF/Word/Excel存 OSS提取文本进知识库图片类走图片处理流程压缩包解压后按文件类型分别处理其他存 OSS记录元数据文件消息的处理比图片重——文件可能大下载慢处理更耗时。所有处理走异步队列机器人先回收到文件处理中处理完再回复结果。同步处理回调必超时。关于文件下载和存储接口可以看Eyun 开发文档。发送富媒体图文消息构造发富媒体不是简单调个 sendImage要构造完整的富媒体消息图片消息直接发图片图文消息标题 描述 图片 链接文件消息发文件富文本卡片按钮 内容 跳转图文消息的坑是图片要先上传 CDN 拿 mediaId再用 mediaId 发送。两步走不是直接发图片 URL发送流程: 1. 上传图片到CDN → 拿到 media_id 2. 用 media_id 构造图文消息 3. 调发送接口media_id 有有效期通常是几天过期的要重新上传。我们最早缓存 media_id 用了一周结果过期发不出去客户没收到排查半天。富媒体的存储和引用富媒体消息的存储和文本不同媒体文件存 OSS不存数据库数据库存引用OSS 路径、mediaId、文件类型消息归一化时把图片/文件转成文本描述图片[截图内容]这样 AI 处理消息时不用真的拉图片读文本描述就行。需要看原图时按引用从 OSS 拉。这套不做AI 处理富媒体消息全靠猜。富媒体消息的兼容性不同端对富媒体的支持不一样企微客户端全支持微信客户端外部客户部分支持某些卡片不显示低版本客户端只支持基础消息发送富媒体要做降级——检测客户端能力不支持的降级成文本消息。不做降级外部客户在微信里看到收到一条不支持的卡片消息体验极差。关于富媒体消息格式和兼容性在Eyun 企业微信 API 平台开通后可以测试不同端的兼容情况。写在最后富媒体消息这套东西难点不在调发送接口在图片 OCR、文件类型识别、CDN 上传两步走、存储引用分离、客户端兼容降级这些工程细节。每一项都不深奥但少做一项富媒体消息就跑不稳。这套搭扎实机器人真正能收发图片文件富文本——而不是只会发文字的半成品。

相关推荐

佛山蜂窝纸托盘源头工厂哪家口碑好?用户力荐实力盘点
佛山蜂窝纸托盘源头工厂哪家口碑好?用户力荐实力盘点

行业通用选购痛点梳理很多需要采购蜂窝纸托盘的企业,在选择源头厂家时很容易踩坑,总结下来主要有4类高频问题: 采购成本难把控:不少厂家要么报价虚高,为了压缩成本使用劣质回收料,导致托盘承重不达标、易变… · 2026/9/25 5:02:14

如何用Docker一键部署MindSpeed LLM:昇腾镜像构建指南
如何用Docker一键部署MindSpeed LLM:昇腾镜像构建指南

如何用Docker一键部署MindSpeed LLM:昇腾镜像构建指南 【免费下载链接】MindSpeed-LLM 昇腾LLM分布式训练框架 项目地址: https://gitcode.com/Ascend/MindSpeed-LLM MindSpeed LLM 是昇腾大语言模型分布式训练框架,支持分布式预训练、指令微调、… · 2026/9/25 5:02:06

昇腾NPU监控入门:npu-smi info命令详解与性能调优实战
昇腾NPU监控入门:npu-smi info命令详解与性能调优实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 5:02:05

Atlas 300V 24G推理卡部署YOLOv5实战:从环境配置到性能调优
Atlas 300V 24G推理卡部署YOLOv5实战:从环境配置到性能调优

最近好多人在问 Atlas 300V 24G 是不是一张“运算加速卡”,还有人问我能不能拿它来训练 YOLO。这个问题的答案其实就一句话:它是推理加速卡,不是训练卡,但搞定 YOLO 目标检测的线上部署,它确实是一把好手。我去年在 At… · 2026/9/25 6:52:25

Union Alpha限免实测:从zcode配置到机械臂操控全流程
Union Alpha限免实测:从zcode配置到机械臂操控全流程

最近圈子里被一个叫Union Alpha的模型刷屏了,宣传口径特别直接:性能逼近Astra,限免一周。我一开始以为又是哪个实验室放出来的营销烟雾弹,结果测了三天发现这玩意儿确实有点东西,尤其是在工具调用和视觉控制这块&#… · 2026/9/25 6:52:19

深度解析 Hypothesis 测试执行次数:`max_examples` 的完整运行语义与底层实现
深度解析 Hypothesis 测试执行次数:`max_examples` 的完整运行语义与底层实现

测试开发工具 【免费下载链接】hypothesis The property-based testing library for Python 项目地址: https://gitcode.com/gh_mirrors/hy/hypothesis 点击查看 免费下载 本指南聚焦 Hypothesis(Python 属性测试库)中一个看似简单实则微妙的… · 2026/9/25 6:52:13

BentoML Keras 集成实战:save_model、load_model 与 get 三大 API 全解析
BentoML Keras 集成实战:save_model、load_model 与 get 三大 API 全解析

模型推理服务人工智能后端大模型MLOpsLLMOps 【免费下载链接】BentoML The easiest way to serve AI apps and models - Build Model Inference APIs, Job queues, LLM apps, Multi-model pipelines, and more! 项目地址: https://gitcode.com/gh_mirrors/be/BentoM… · 2026/9/25 6:52:13

OctoPrint JavaScript 客户端库 printer 组件完全指南:通过 `OctoPrint.printer` 掌控你的 3D 打印机
OctoPrint JavaScript 客户端库 printer 组件完全指南:通过 `OctoPrint.printer` 掌控你的 3D 打印机

物联网后端 【免费下载链接】OctoPrint OctoPrint is the snappy web interface for your 3D printer! 项目地址: https://gitcode.com/gh_mirrors/oc/OctoPrint 点击查看 免费下载 导读 本文聚焦 OctoPrint JavaScript 客户端库(JS Client Library&am… · 2026/9/25 6:52:13

【Coze】在Coze平台使用源码创建工作流
【Coze】在Coze平台使用源码创建工作流

Coze 提供了图形化的工作流搭建平台,适用于低代码构建自动化任务流程。通过资源管理、节点配置与流程连接,可实现多种业务逻辑的在线部署。 本文介绍如何在 Coze 中创建工作流资源、导入流程 JSON 配置,并完成起止节点的连接与字段设置,直至试运行与发布上线的全过程。 文… · 2026/9/25 6:52:07

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码