社媒营销

9 个平台真实发布、OAuth 授权与失败重试,全量日志留痕,一稿多发发到真账号上。

社媒营销

社媒营销

插件市场 V1.4

9 个平台真实发布、OAuth 授权与失败重试,全量日志留痕,一稿多发发到真账号上。

  • 当前版本 V1.4
  • 更新时间 2026-11-15
  • 浏览次数 0

详细介绍

迅睿 CMS 应用 · 社媒分发

一稿多发,
发到真账号上

在内容列表点一下「社媒分享」,勾选平台、改两句文案,文章就真的出现在微博、公众号、抖音、X、LinkedIn 上——不是打开一个分享对话框,是用你自己的账号发出去。失败的自动排队重试,成功的不会重复发。

版本 / 作者
1.4 · Sharehub
要求
CMS 4.6+ / PHP 7.4–8.2
平台
9 个
一键授权
微博 / 抖音 / Reddit
默认重试
3 次 · 60/300/900s
任务状态
6 档
CONTENT / 文章 TASK / 任务行 platforms · result · status · next_retry 微博 公众号 企业微信 抖音 X / Twitter Facebook LinkedIn Telegram Reddit(图文不含封面) 未配置账号 → 不可勾选 RETRY / 只补失败的那几个 429 / 5xx / 超时 → 入队 60s · 300s · 900s 已成功的平台跳过,不重发 status 0待执行 · 1执行中 · 2全成功 · 3失败 · 4部分成功 · 5已取消
一篇文章 → 一个任务行 → 九个平台 → 失败重试
01

先分清:它不是分享按钮

同目录还有一个 HMShare 1.1.0,名字都跟分享有关,能力完全不同。这一节决定你该装哪个。

对比项Sharehub 1.4(本插件)HMShare 1.1.0
谁在发你 / 编辑,用自有平台账号访客,点分享按钮
发到哪真实 API,内容真的出现在平台上打开平台分享对话框,访客自己点发送
要凭证吗要:AppKey / Token / OAuth不要,装完就能用
适合谁有内容运营、要一稿多发想给页面加一条转发入口

一句话:HMShare 让别人帮你转,Sharehub 用你的账号自己发。两个可同装,互不依赖,也不同表。

02

左侧只有一个菜单,四个界面靠顶部页签

1.4 的界面改法:顶部改用后台原生 page-bar 胶囊页签,取消了原先占满首屏的渐变 hero。

入口 01

首页 / 设置

仪表盘、平台授权状态、重试次数与间隔、文案模板、计划任务地址与 token 重置。授权失效会在这里弹红条。

入口 02

平台账号

九个平台的密钥与 Token、OAuth 授权、连通测试、默认 Subreddit、默认配图、Graph 版本。

入口 03

任务队列 / 日志

任务可立即执行、重试、取消;日志按平台、结果、标题筛选,能看完整文案与接口原始响应。

真正高频的入口不在后台菜单里:内容管理列表每行右侧的「社媒分享」按钮,由 Config/Clink.php 注入,点了自动带出标题、链接、摘要、封面。

03

九个平台,各自有硬限制

下面每一条都来自代码与厂商文档,不是"理论上支持"。

平台要什么凭证必须知道的限制
新浪微博App Key/Secret + OAuth≤140 字;必须带「安全域名」下的链接;不支持 #话题#
微信公众号认证服务号 AppID/Secret + IP 白名单必须有封面 thumb_media_id;默认只存草稿,配置后才提交发布
企业微信群机器人 Webhook只发文本 / Markdown,适合内部通知
抖音Client Key/Secret + 用户 OAuth图文至少 1 张图;发布后要平台审核,审核期仅自己可见
X / TwitterOAuth 2.0(tweet.write)≤280,中文按 2 计权;需在开发者后台配回调
Facebook公共主页 + Page Token需主页管理员授权;Graph 版本可按账号升级
LinkedInOAuth(w_member_social)必须带 LinkedIn-Version 头;作者 URN 按账号填
TelegramBot Token + chat_idBot 要在目标群/频道里且能发言
Redditweb app + OAuth(permanent)回调只接受 https;默认 Subreddit 必填;部分版块要 flair;不含图片上传
04

什么会重试,什么不重试

分不清这两类,会看到「一直在重试」或「该重试却不重试」,都以为是 bug。

会重试 · 入队

网络与限流

HTTP 0(超时/DNS)、408、425、429、5xx;平台限流码(微博 10022 等、微信 45009/45011、抖音 2190005、Facebook 4/17/32/613、Reddit RATELIMIT)。

间隔

默认 60s / 300s / 900s 三次;平台明确要求等待时取「配置间隔」与 retry_after 的较大值,单次上限 24 小时。

不重试 · 直接失败

授权与内容问题

401/403、Token 失效、参数错误、缺配图、权限不足、账号未配置或已停用。重试也不会好,只会白跑。

提示

授权类错误写入账号 extra,首页与账号页弹红条「授权失效」,点「重新授权」;授权成功或连通测试通过后自动消失。

只补失败

不会重复发

已成功的平台记在任务 result JSON 里,重试时跳过;所以不会出现同一篇文章在微博发两遍。

并发安全

执行前原子抢占(status=0 → 1),超过 10 分钟仍在「执行中」的任务自动释放,避免两个 cron 同时跑同一条。

05

授权只一键三个,密钥全部加密入库

内置一键 OAuth 是微博、抖音、Reddit;其余手填 Token。凡是密钥都加密存,页面不回显明文。

机制做法为什么
state 防伪造每次授权生成「平台名.随机串」,写入 HttpOnly Cookie(15 分钟、SameSite=Lax),回调逐字比对防伪造回调与 CSRF;成功后作废,不能重放
密钥加密client_secret / access_token / refresh_token 用 dr_authcode 加密入库页面不回显明文;留空保存表示保持原值
自动续期X、微信、抖音过期前自动刷新;Reddit 用 refresh_token 永久续期Facebook / LinkedIn / Telegram 的 Token 过期需人工更新
两层权限菜单级勾选 + 插件设置里的「允许分享的角色 ID」留空则全部可发;超级管理员始终允许
06

不配这个定时地址,重试就不会自己跑

发布是即时执行的;失败后的"自动重试"完全依赖这条 cron。

01

上传并安装

dayrui/App/Sharehub 覆盖到站点,应用管理点安装:建 4 张表、生成 install.lock。

02

配账号与授权

账号页填密钥 → 填回调地址 → OAuth 授权 → 连通测试;未配的平台在发布页不可勾选。

03

挂 cron(每 1–5 分钟)

首页复制带 token 的地址挂计划任务;可加 &limit=20。token 泄露就在首页重置。

无定时排程
只有「立即发 + 失败重试」,没有「明早 9 点发」这类排程队列。
无视频
抖音走图文接口;YouTube、Instagram、TikTok 国际版未接入。
Reddit 无图
图片上传三步流程未实现,封面不随帖发。
公众号存草稿
默认只在草稿箱,需配置后才提交发布,且必须认证服务号。
日志需手清
无自动清理,随发布量增长,建议按 90 天自行删除。
平台会变
Graph 版本、LinkedIn-Version、开放平台规则调整,驱动需跟着升级。

为你推荐

查看更多