📌135 编辑器 API 接口基础扫盲
提到 135 编辑器,很多人第一反应是网页上那个拖拽排版的工具。但对技术流来说,真正值钱的是它背后的 API 接口 —— 这东西能让你把编辑器的所有功能搬进自己的系统,实现公众号排版从 “手动点一点” 到 “代码跑一跑” 的跨越。
API 接口的核心价值在哪?简单说,就是打破编辑器的网页操作限制。比如你公司有自己的内容管理系统(CMS),每次写完文章还要复制到 135 编辑器排版,完了再导出来发公众号,这中间的重复劳动想想都头大。有了 API,就能让 CMS 直接调用 135 的模板、样式,写完文章自动排版,效率至少提 3 倍。
现在 135 编辑器的 API 接口分两类:基础接口和高级接口。基础接口能满足大部分自动化需求,像获取模板列表、应用模板排版、导出 HTML 代码这些。高级接口就更狠了,支持自定义样式库、批量处理文章,甚至能对接企业的私有字体库 —— 对那些有品牌统一排版规范的公司来说,这简直是刚需。
要注意的是,调用 API 需要先在 135 编辑器的开发者平台注册,申请 AppKey 和 AppSecret。这俩就像钥匙,没它们接口根本不认你的请求。而且每个接口都有调用频率限制,免费版每天能调用 100 次,企业版能到 1 万次,具体得看你的套餐。
🛠️核心 API 接口功能详解
模板相关接口绝对是使用频率最高的。通过template/list接口,你能拿到 135 编辑器里所有公开模板的 ID、分类、预览图地址。想筛选特定行业的模板?加个category_id参数就行,比如教育类传 101,科技类传 103。拿到模板 ID 后,用template/get接口就能获取模板的完整样式代码。
内容排版接口是自动化的关键。content/typeset接口接受原始 HTML 或 Markdown 格式的内容,你可以指定模板 ID、字体大小、行间距等参数,它会返回排好版的内容。这里有个技巧:如果你的文章有固定的开头结尾,可以用pre_content和post_content参数提前设置,不用每次都在原始内容里加。
样式管理接口能帮你维护一套统一的品牌样式。style/create可以创建自定义样式,比如把公司主色调设为标题颜色,把特定字体设为正文字体。创建好的样式会生成一个style_id,排版时传给content/typeset,所有文章就能自动套用这套样式 —— 再也不用担心不同编辑排出的文章 “长得不像一家人”。
导出接口支持多种格式,export/wechat直接生成公众号可识别的 HTML,拿到后用公众号的开发接口就能直接发布。如果需要备份,export/pdf能把排版后的内容转成 PDF。值得一提的是,导出 PDF 时可以通过watermark参数添加水印,比如加上公司名称和日期,防止内容被随意传播。
🖥️对接公众号的技术实现步骤
第一步是获取接口权限。登录 135 编辑器开发者中心,创建应用时要选 “公众号排版” 类别,提交后一般 1-2 个工作日会通过审核。审核通过后,在应用详情页能看到AppKey和AppSecret,这俩要妥善保管,别泄露给外人。
然后得熟悉接口文档。135 的接口文档在开发者中心能下载,里面每个接口的请求地址、参数说明、返回示例都写得很清楚。重点看sign参数的生成方式 —— 每次请求都要把AppKey、时间戳、随机数和AppSecret按特定规则拼接加密,这是接口的安全验证机制,少一步都会返回 401 错误。
接下来是搭建对接逻辑。建议用 Python 或 Node.js 写脚本,这俩语言的 HTTP 库比较成熟。流程大概是:从自己的 CMS 取待发布的文章内容→调用content/typeset接口排版→调用export/wechat接口获取公众号格式内容→用微信公众平台的material/add_news接口上传图文素材→最后用message/custom/send接口发布。
这里有个坑要注意:135 的排版结果里可能包含外部图片链接,公众号发布时会要求图片必须是自己的素材。所以排版后要遍历返回的 HTML,把图片链接下载到本地,再用公众号的material/add_material接口上传,替换掉原来的链接 —— 不然发布的时候会提示 “图片来源不合法”。
📝代码示例与实战技巧
用 Python 对接的话,推荐用 requests 库。先写个生成 sign 的函数:
import hashlib
import time
import random
def generate_sign(app_key, app_secret):
timestamp = str(int(time.time()))
nonce = str(random.randint(100000, 999999))
sign_str = f"app_key={app_key}&nonce={nonce}×tamp={timestamp}&app_secret={app_secret}"
sign = hashlib.md5(sign_str.encode()).hexdigest()
return sign, timestamp, nonce
调用排版接口时,把文章内容、模板 ID 这些参数传进去:
import requests
def typeset_content(content, template_id):
url = "https://open.135editor.com/api/v1/content/typeset"
sign, timestamp, nonce = generate_sign("你的AppKey", "你的AppSecret")
params = {
"app_key": "你的AppKey",
"sign": sign,
"timestamp": timestamp,
"nonce": nonce,
"content": content,
"template_id": template_id,
"font_size": 16
}
response = requests.post(url, data=params)
return response.json()["data"]["content"]
实际开发中,建议加个缓存机制。比如把常用的模板和样式缓存到本地,30 分钟更新一次,减少接口调用次数。还有错误重试机制,接口偶尔会返回 503 错误,这时候重试 2-3 次通常就能解决,不用立刻报警吓到运营同学。
如果要处理大量文章,用异步任务队列会更高效。比如用 Celery 把排版任务放进队列,多线程并行处理,原本 1 小时才能排完的 100 篇文章,20 分钟就能搞定。记得在任务里加日志,方便排查哪篇文章排版出了问题。
⚠️常见问题与避坑指南
接口调用返回 403,大概率是sign参数错了。检查一下加密前的字符串是不是按 “app_key=xxx&nonce=xxx×tamp=xxx&app_secret=xxx” 的顺序拼接的,特别是app_secret有没有漏写。另外时间戳和服务器时间不能差太多,超过 5 分钟就会验证失败,所以最好用服务器的时间戳。
排版后的内容在公众号里显示错乱,可能是用了不支持的样式。公众号对 HTML 有严格限制,像position: fixed这种 CSS 属性会被过滤掉。解决办法是调用export/wechat接口时,加个filter_wechat参数设为 true,接口会自动移除公众号不支持的代码。
调用频率超限会返回 429 错误。免费版每天 100 次调用,其实不够用,建议至少升级到基础版(1000 次 / 天)。如果是高峰期临时需要大量调用,可以在代码里加个限流逻辑,比如每秒最多发 5 个请求,避免一下子把额度用完。
模板调用后样式不对,可能是模板里有动态内容。有些模板包含倒计时、天气这类动态组件,API 调用时会显示默认值。如果不需要这些组件,可以在排版前用正则表达式把它们从模板代码里去掉,或者找不带动态组件的模板。
🚀高级玩法与效率提升
结合 WebHook 实现全自动化流程。让你的 CMS 在文章发布状态变为 “待排版” 时,自动给 135 的 API 发请求,排版完成后再触发公众号的发布接口 —— 整个过程不用人碰,编辑点一下 “发布”,文章就自动排好发出去了。
用 API 做个性化排版。比如根据文章的阅读量调整样式:阅读量超过 10 万的热门文章,自动用金色标题和特殊边框;新发布的文章用红色 “NEW” 标签。实现起来也简单,在调用排版接口前判断一下阅读量,动态设置不同的style_id就行。
批量处理时用分页接口更高效。template/list支持page和page_size参数,一次最多取 100 条模板数据。要获取所有模板的话,循环调用直到返回的total小于当前页码乘以page_size。同理,获取自己创建的样式列表也可以这么做。
定期备份接口数据。每天凌晨用template/get把常用的模板备份到本地,万一哪天接口出问题,还能手动用备份的模板代码排版。备份的时候顺便检查一下模板有没有更新,有更新就同步到本地,保证用的是最新版。
SEO 方面,虽然 API 本身不直接影响排名,但通过自动化排版能让文章更快发布,抢占时效性关键词的先机。而且统一的样式能提升用户体验,降低跳出率,间接帮助 SEO。记得在排版时用 API 给标题加h1标签,关键词加strong标签,这些细节对 SEO 有好处。
【该文章由diwuai.com
第五 ai 创作,第五 AI - 高质量公众号、头条号等自媒体文章创作平台 | 降 AI 味 + AI 检测 + 全网热搜爆文库🔗立即免费注册 开始体验工具箱 - 朱雀 AI 味降低到 0%- 降 AI 去 AI 味】