导入接口先按标题查一遍,重复的文章会不会再写一条
批量导入会不会重复写一条,取决于导入接口的查重规则:文档内容导入接口 /api/import/archive 先用 GET 传标题,可以查询这篇文档是否已存在,正式文档表和草稿表都会查;改成 POST 写入时同样按标题查重,默认情况下标题重复即失败并返回重复提示,只有显式带上覆盖参数才会写进已有记录;把参数设成继续插入,才会并存两条。所以「重复的文章会不会再写一条」这个问题,答案是默认不会,除非调用方主动要求。
按标题查重查的是什么
查的是三样东西。标题之外,接口还支持按地址别名与原站地址查询是否已存在,这两个字段更容易暴露重复:同一篇稿子改了标题重新导入,标题查不出来,原站地址能查出来。查重会同时覆盖正式文档与草稿,定时发布排期里的待发布内容也在草稿侧,因此不会出现「列表里看不见却已被占用」的情况。
调用方的常见误区是自己维护一份已导入清单。清单会和线上状态漂移,尤其是有人在后台手工改过标题之后;把查重交给接口的查询请求,每次导入前先问一次,比事后清理省事。
重复提交会跳过还是覆盖
三种处理方式,由一个参数控制,默认值是不覆盖:
- 不覆盖(默认):标题或原站地址命中已有记录时,本次写入失败并返回重复提示,这条正好是可以被程序捕获的分支;
- 覆盖:命中后把内容写进已有那条记录,文档标识不变,历史链接与统计继续跟着这条记录;
- 继续插入:命中后仍然新建一条,适合确实要并存两版的场景,但对内容站来说通常意味着重复页,要谨慎使用。
接口需要令牌鉴权,调用方应把令牌放在服务端配置里,不要写进前端代码或仓库。
压缩包和表格各适合什么
后台的批量导入支持两种格式:ZIP 压缩包与 Excel 表格。压缩包适合图文一体的整站搬站——正文、图片与附件一起进去,任务进度可查询;Excel 表格适合结构化批量,栏目、标题、关键词、描述按列排布,先做一列清洗再导入,比在编辑器里逐篇改更快。两条通道解决的是「量大」,接口解决的是「由程序持续写」,来源不同不要混用同一份预期。
API 调用前确认哪几个字段
调用前把字段清单对齐,能避免导入后的返工。必填或强相关:标题、正文、栏目(用栏目编号或直接给栏目名称,名称不存在时可按名称建栏目)、关键词与描述、标签。状态相关:是否作为草稿写入、发布时间(排期到指定时刻则进入待发布)、地址别名。内容属性:图片与封面、模板、摘要、阅读等级与价格这类自定义字段。
字段名以接口文档为准,接口文档在站内接口帮助分类下给出;高频调用能力包括文档列表与详情、分类与标签、上传图片、留言与评论、友情链接、系统设置与联系方式,一次集成里通常只用其中几项,但权限与令牌口径要统一。
导入后的抽查
抽查按四条走。标题与摘要是否落位(描述为空时前台展示会退化成正文截断);栏目归属是否正确,分类层级与旧系统是否一致;图片是否可访问,附件路径有没有跟着迁移;状态是否符合预期,草稿、待发布与正式文档在前台的可见性不同。批量导入后建议随机抽若干篇,而不是只看列表第一页——顺序导入时问题往往集中在尾部。
常见问题
同一篇稿子导入两次会得到两条记录吗? 不会,默认标题查重命中即失败;要覆盖需显式带覆盖参数,要并存才用继续插入。
改了标题重新导入查不出来怎么办? 用原站地址或地址别名再查一次,这两项比标题稳定。
批量导入和接口导入能同时用吗? 可以,但建议同一批内容只走一条通道,避免两侧同时写入时难以判断以谁为准。