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

xiaobei 企业微信朋友圈发布:corp_id / corp_secret 凭据获取与 wxwork-moments 实战指南

发布时间:2026/9/26 2:28:20 来源:云帆数科 栏目:资讯中心
xiaobei 企业微信朋友圈发布:corp_id / corp_secret 凭据获取与 wxwork-moments 实战指南
人工智能AI Agent大模型AI 应用媒体生成【免费下载链接】xiaobei为OPC/中小微企业量身打造的自媒体获客智能体项目地址https://gitcode.com/gh_mirrors/wi/xiaobei点击查看免费下载本文面向需要在 xiaobei 智能体上配置「企业微信客户朋友圈wxwork-moments」分发能力的 OPC/中小微企业运营者与实施工程师系统讲解企业微信corp_id/corp_secret凭据的获取、daemon.env的写入与重启生效流程并基于仓库源码深入剖析经 relay 透传凭据的朋友圈发布链路、四种发布形态纯文字 / 图文 / 视频 / 图文链接、附件限制与常见错误处理。读完即可独立完成从申请凭据到成功发出第一条客户朋友圈的完整闭环。一、背景wxwork-moments 技能与 relay 无状态架构wxwork-moments是 xiaobei 中负责发布企业微信客户朋友圈的技能技能说明见 crews/main/skills/wxwork-moments/SKILL.md。它的核心设计是凭据不在技能侧落盘企业微信的corp_idcorp_secret存放在实例级的daemon.env中每次请求时透传给 relay 服务relay 无状态relay 只在请求作用域内使用凭据转发企业微信前会剥离corp_id/corp_secret并按下发的(corp_id, corp_secret)分桶缓存 access_token复用 7200 秒secret 变更后重新获取客户端无需自行管理 token。这套设计意味着同一份凭据同时被wxwork-moments朋友圈和wxwork-drive微盘使用一次配置、两处受益。微盘侧的配套文档见 skills/wxwork-drive/SKILL.mdrelay 侧的完整接口契约见 docs/WXWORK-DRIVE-API.md 与 docs/API-CONTRACT.md。涉及的环境变量一览变量用途存放位置WXWORK_CORP_ID企业微信企业 IDdaemon.env朋友圈 微盘共用WXWORK_CORP_SECRET自建应用的 Secretdaemon.envOFB_KEYrelay 身份凭据VIP Club 会员凭证daemon.enventrypoint 注入RELAY_BASE_URLrelay 服务地址生产默认https://relay.openclaw-for-business.comdaemon.env缺省时脚本有内置默认值仓库中 docker/docker-entrypoint.sh 展示了daemon.env的加载逻辑entrypoint 会set -a后 source~/.openclaw/daemon.env将其中变量注入 gateway 进程环境随后技能脚本通过os.environ.get(...)读取见 post_moments.py。裸机部署下config/daemon.env.template是运维模板密钥类变量统一写入~/.openclaw/.env/daemon.env由 scripts/install.sh 或 Docker entrypoint 首次启动时拷贝。二、前置条件在开始获取凭据前请确认以下两点relay 可信 IP123.60.18.144——这是openclaw-for-business.com的 relay 服务地址官方增值服务。后续配置企业微信自建应用的「企业可信 IP」时必须填写该 IP否则 relay 无法代表你的应用调用企业微信接口管理员身份操作用户需为企业微信管理员否则无法在管理后台创建自建应用、配置可信 IP 或开通接口权限。三、获取企业 IDcorp_id的完整步骤打开 https://work.weixin.qq.com/wework_admin扫码登录企业微信 Web 管理后台在左侧导航栏点击「我的企业」在页面最下方可以看到「企业ID」复制后交给 Agent或 IT engineer即可。企业 ID 是企业身份的全局标识形如ww开头的字符串它在朋友圈与微盘两个技能中通用务必妥善保管。四、创建自建应用并配置可信 IPcorp_secret 的来源corp_secret来自企业微信的自建应用具体步骤如下仍在企业微信 Web 管理后台点击左侧「应用管理」→「应用管理」滚动到最下方「自建」区域点击「创建应用」填写应用信息完成创建进入新建的应用详情页在最下方「开发者接口」中找到「企业可信 IP」点击「配置」添加可信 IP123.60.18.144回到应用详情页可以看到Secret即corp_secret——该值只显示一次务必立即复制保存丢失后只能重置。从源码实现看corp_secret的错误会直接表现为 relay 返回 502GETTOKEN_FAILEDcorp_secret 错或 corp_id 不存在详见本文第七节的错误对照表。五、给应用开通微盘 / 客户联系权限自建应用创建后还需要为它开通两项接口权限否则调用会被企业微信拒绝微盘供wxwork-drive使用后台 → 左侧「协作」→ 微盘 → 右侧上部的「API」图标图标很小仔细看→ 点开 → 在「可调用接口的应用」里添加上一步创建的应用客户联系朋友圈用后台 → 左侧「客户与上下游」→ 客户联系 → 右侧上部「API」图标 → 点开 → 在「可调用接口的应用」里添加同一个应用。权限未开通时relay 上游会返回no privilege错误详见第七节。注意微盘侧的另一个细节企业微信微盘要求应用只能往「自己创建的空间/文件夹」里上传wxwork-drive通过space-create建空间后应用自动成为超级管理员从而获得合法上传目标具体见 skills/wxwork-drive/SKILL.md。六、写入 daemon.env 并重启关键生效步骤收到corp_idcorp_secret后不要直接手改 daemon.env除非你是运维人员两条可行路径路径 A推荐交由 IT engineer 配置把corp_id/corp_secret交给 IT engineer由其写入daemon.env的WXWORK_CORP_ID/WXWORK_CORP_SECRET再用gatewayMCP 工具应用配置并重启 Gateway。路径 B用户自助编辑daemon.env在daemon.env中填入WXWORK_CORP_ID企业ID WXWORK_CORP_SECRET应用 Secret然后重启实例具体重启方式见部署文档或咨询 IT engineer。⚠️写入daemon.env后必须重启实例才生效。这是因为 entrypoint 只在启动时加载daemon.env见 docker/docker-entrypoint.sh不重启则进程内的环境变量不会更新relay 侧会一直报MISSING_CORP_CREDENTIALS。同理如果OFB_KEY未配置也由 IT engineer 在daemon.env配置后重启——OFB_KEY是 VIP Club 会员凭证由 ofb 掌柜签发脚本在缺失时会明确报错见 post_moments.py。七、发布命令四种形态一次说清技能通过 scripts/skill-wrappers.sh 将顶层 wrapper 软链暴露到~/.openclaw/bin/并注入 PATH因此 Agent 直接以wxwork-moments 正文 [附件...]的形式调用即可无需拼接脚本路径。wrapper 本身只是exec转发见 wxwork-moments.sh。1. 纯文字wxwork-moments 正文内容2. 图文最多 9 张图wxwork-moments 正文内容 /path/to/img1.jpg /path/to/img2.png支持 jpg/jpeg/png/gif 格式。3. 视频1 个≤ 30 秒≤ 10MBwxwork-moments 正文内容 /path/to/video.mp4支持 mp4/mov 等格式脚本同时识别 avi/wmv见下文源码说明。4. 图文链接必须传封面图wxwork-moments 推荐阅读 --link https://example.com/article 文章标题 /path/to/cover.jpg⚠️ 链接模式必须附封面图否则发布失败。这是企业微信 link 类附件的硬性要求。附件限制速查表附件类型限制图片jpg/png/gif最多 9 个视频mp4/mov最多 1 个时长 ≤ 30 秒大小 ≤ 10MB图文链接最多 1 个可附 1 张封面图图片与视频/链接不可同时存在八、源码级原理post_moments.py 的完整调用链发布脚本 post_moments.py 是理解整个链路的最佳入口它完整处理了凭据读取、素材上传、发布三步Agent 无需手动执行任何中间步骤。8.1 凭据读取与环境校验L44-L57脚本从环境变量读取WXWORK_CORP_ID/WXWORK_CORP_SECRET/RELAY_BASE_URL缺省回退到内置的https://relay.openclaw-for-business.com/OFB_KEY任一缺失立即以✗前缀错误退出并给出按 REFERENCE.md 引导获取 → 交 IT engineer 写 daemon.env → 重启的处理指引。8.2 图片自动规范化L118-L162企业微信朋友圈对图片有严格的分辨率要求errcode 41081 medias resolution invalid是高频错误。脚本内置auto_resize_image()处理三种情况非 RGB 模式RGBA/P/CMYK→ 自动转换为 RGB尺寸过大任一边 1248px→ 等比缩放到 1200pxImage.LANCZOS高质量重采样尺寸过小任一边 600px→ 等比放大到两边均 ≥ 600px。规范化后的图片以 JPEGquality92写入临时文件再上传。若本机未安装 Pillow则跳过规范化直接上传原图。8.3 图文链接的封面兜底L221-L233链接模式未显式传封面图时脚本会尝试抓取目标 URL 的og:image元标签并下载作为封面抓取不到或下载失败则直接报错提示手动指定封面。这个兜底逻辑大大降低了链接模式的使用门槛。8.4 素材上传与发布L174-L293上传POST {RELAY_BASE_URL}/api/v1/wxwork/media/uploadmultipart 携带corp_idcorp_secrettypemedia文件请求头带X-OFB-Key发布POST {RELAY_BASE_URL}/api/v1/wxwork/moments/addJSON 携带corp_idcorp_secrettextattachments。纯文字只传text图片/视频分别以msgtype: image/msgtype: video组装链接以msgtype: link组装含title/url/media_id封面。两个端点与 docs/API-CONTRACT.md 中的契约完全对应。响应统一为{ success, data, error }包络脚本的unwrap()同时容忍 flat 与包络两种返回形态。发布成功后输出✓ 发布成功以及moment_id即add_moment_task的任务 ID可用于后续在管理后台查询状态。8.5 Agent 行为约束不得跳过等待脚本完整返回后再进行下一步——脚本包含上传和发布两个网络请求耗时可能超过 10 秒期间告知用户正在上传素材 / 正在发布……禁止在脚本结束前自行拼接其他 curl 命令脚本已处理凭据读取、素材上传、发布等全部步骤无需手动执行任何中间步骤脚本输出最后一行以✓开头表示成功以✗开头表示失败需将错误信息完整告知用户正文中不要包含换行\n企业微信 API 无法解析\n脚本实现中也会将换行替换为字面\n字符串见 L201。九、错误处理对照表错误信息原因处理WXWORK_CORP_ID / WXWORK_CORP_SECRET 未配置daemon.env 缺凭据按 REFERENCE.md 引导用户获取交 IT engineer 写 daemon.env 重启OFB_KEY 未配置daemon.env 缺 OFB_KEY让 IT engineer 配置后重启MISSING_CORP_CREDENTIALSrelay 400请求体缺 corp_id/corp_secret检查 daemon.env 是否生效需重启GETTOKEN_FAILEDrelay 502corp_secret 错或 corp_id 不存在核对凭据按本文三、四节重新获取no privilege应用未开通客户联系权限按本文第五节「客户联系」步骤开通41081 medias resolution invalid图片分辨率不合规非 RGB / 过小 / 过大脚本已自动规范化RGB 转换 分辨率调整若仍失败检查图片是否损坏图片最多 9 张超出数量限制减少传入文件数量十、安全注意事项corp_secret等同于密码不要贴到聊天群 / issue / 日志里OFB_KEY同理relay不落盘凭据只在请求作用域内使用tokenCache 按(corp_id, corp_secret)分桶relay 在转发给企业微信前会剥离corp_id/corp_secret不下发临时素材media_id有效期3 天脚本每次发布时重新上传无需手动管理。十一、补充说明朋友圈任务创建成功后指定员工会在企业微信中收到一键发布提醒moment_id可用于后续在企业微信管理后台客户联系 → 客户朋友圈查询发布状态企业微信朋友圈分发无需执行published-track相关操作不同于其它平台分发流程见 crews/main/skills/wxwork-moments/SKILL.md微盘侧的权限与接口细节file-share文件级分享绕过640028等见 skills/wxwork-drive/SKILL.md 与 docs/WXWORK-DRIVE-API.md与本文凭据共用一套WXWORK_CORP_ID/WXWORK_CORP_SECRET。至此从「打开企业微信管理后台获取企业 ID」到「自建应用 可信 IP 权限开通 写入 daemon.env 重启」再到「四种形态的朋友圈发布命令与错误排查」整条链路已经完整覆盖。配置一次朋友圈与微盘双通道即可同时就绪。赞分享人工智能AI Agent大模型AI 应用媒体生成【免费下载链接】xiaobei为OPC/中小微企业量身打造的自媒体获客智能体项目地址https://gitcode.com/gh_mirrors/wi/xiaobei点击查看免费下载相关推荐Moments极简朋友圈Moments极简朋友圈 在现代快节奏的生活中人们越来越渴望简单而纯粹的社交方式。Moments一个极简主义风格的社交分享平台正是为了满足这样的需求而生后端前端社交EasyWeChat 4.x 企业微信外部联系人管理实战联系我、客户群发、朋友圈与数据统计全指南EasyWeChat 4.x 企业微信外部联系人管理实战联系我、客户群发、朋友圈与数据统计全指南 本篇技术指南围绕 EasyWeChatPHP 微信 SDK后端即时通讯Android-ZBLibrary终极指南如何快速实现仿微信朋友圈布局Android ZBLibrary终极指南如何快速实现仿微信朋友圈布局 想要在Android应用中快速实现类似微信朋友圈的复杂布局吗Android ZBLi移动开发UI组件上一篇livego中的数据结构选择提升直播服务效率的关键决策下一篇Ollama Copilot核心原理揭秘一文读懂如何将Ollama大模型转化为智能代码补全工具创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

基于Jev决策服务与TaoToken入口的API Key接入架构解析
基于Jev决策服务与TaoToken入口的API Key接入架构解析

1. 从标题拆解这个项目的真实意图1.1 标题里藏着的三个关键信息先把标题拆开看:“基于 Jev 的决策服务,TaoToken 只提供 Key 入口”。这句话信息密度很高,至少包含三层意思。第一层,Jev 是决策服务的核心引擎。也就是说&#xff0… · 2026/9/26 2:28:20

Beyond Compare正版化实践:企业级授权管理与CI/CD安全集成
Beyond Compare正版化实践:企业级授权管理与CI/CD安全集成

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

Moto 的 Mock 架构深度解析:BotocoreStubber 与双通道请求拦截机制
Moto 的 Mock 架构深度解析:BotocoreStubber 与双通道请求拦截机制

Mock测试 【免费下载链接】moto A library that allows you to easily mock out tests based on AWS infrastructure. 项目地址: https://gitcode.com/gh_mirrors/mo/moto 点击查看 免费下载 Moto 是当前仓库中用于模拟 AWS 基础设施测试的开源库,其核心… · 2026/9/26 2:28:14

自托管云开发平台Coder实战:模板、配额与AI编码代理落地
自托管云开发平台Coder实战:模板、配额与AI编码代理落地

我从2022年底开始在自己的服务器上部署 Coder,当时的动机非常朴素:团队里十几个人分散在三地办公,golang 和前端工程师的本地环境五花八门,每天都要重复听到“我这儿能跑啊”“在我电脑上没问题”。把环境统一起来这件事&#xff… · 2026/9/26 7:57:42

金融服务系统实战:账户、支付、风控与合规全解析
金融服务系统实战:账户、支付、风控与合规全解析

干了几年 financial-services 项目,我总结了一套能直接抄作业的实践经验我最早接触 financial-services 这个词,是在一家中型支付公司做账户系统重构。那会儿以为金融科技就是把支付接口接通、把账算平就完事了,可真上手之后才发现&#xff0… · 2026/9/26 7:57:42

Spring Boot + MyBatis 材料分析知识系统毕设实战:从数据建模到全文检索
Spring Boot + MyBatis 材料分析知识系统毕设实战:从数据建模到全文检索

先说一个真实感受:毕设选题这事,十个人里有八个是“先选个看起来不难的,再做着做着发现哪哪都是坑”。我当时选“材料分析知识系统”这个题目,一开始只是觉得Java方向熟、管理系统的套路见得多,可真正动手才发现&#… · 2026/9/26 7:57:42

Qt多数据库接入组件设计:SQLite/MySQL/ODBC/PostgreSQL统一访问与连接池实战
Qt多数据库接入组件设计:SQLite/MySQL/ODBC/PostgreSQL统一访问与连接池实战

前两年做项目时客户提了一个很“磨人”的需求:同一套软件必须能在SQLite、MySQL、SQL Server(走ODBC)和PostgreSQL之间任意切换。最开始我按传统做法,每个数据库单独写一套连接代码,结果换一个库就要重新编译&#xff… · 2026/9/26 7:57:42

频率f、角频率ω与周期T的工程本质与换算逻辑
频率f、角频率ω与周期T的工程本质与换算逻辑

1. 为什么这三个物理量总被放在一起讲?——从一个电机嗡嗡声说起你有没有注意过老式电风扇启动时那低沉的“嗡——”声?或者工厂里大型电机运行时持续不断的50Hz底噪?这个声音不是随机的,它本质上是电流每秒钟完成50次完整正弦振荡… · 2026/9/26 7:57:42

windows下的MinIO的下载与安装
windows下的MinIO的下载与安装

本文环境:windows10、MinIO 一、MinIO的下载 1.中文官网下载: 地址:https://www.minio.org.cn/download.shtml#/windows 2.英文官网下载: 地址:https://www.min.io/download 3.网盘下载 1.minio.exe链接: (1)百… · 2026/9/26 7:57:36

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

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

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

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

企业微信二维码