外观
3.3 同步检查
约 590 字
同步接口
本页对应「三、操作步骤」的 3.3,同步完成后按唯一标识回查目标平台,比对标题、正文、标签与链接,确认没有重复、遗漏或被截断的内容。返回上级:多平台同步。
前置条件
- 3.1 与 3.2 已完成,测试文章已成功写入并返回内容 ID。
- 已知目标平台的查询接口,可按 ID 或按标题检索。
- 源文章的字段基线已保存,例如
/srv/axis/sync/payload.json。
操作步骤
- 按 ID 回查目标记录,把返回体保存为文件:
curl -sS -H "Authorization: Bearer $SYNC_TOKEN" \
"https://api.example.com/v1/posts/ID_FROM_RESPONSE" \
-o /tmp/remote.json
jq '{id, title, status, published_at}' /tmp/remote.json- 对比源与目标的标题、标签数量与发布时间:
jq -r '.title' /srv/axis/sync/payload.json > /tmp/src-title.txt
jq -r '.title' /tmp/remote.json > /tmp/dst-title.txt
diff -u /tmp/src-title.txt /tmp/dst-title.txt && echo "title match"
jq -r '.tag_list | length' /srv/axis/sync/payload.json
jq -r '.tag_list | length' /tmp/remote.json- 检查正文关键段是否完整,确认没有被平台的编辑器截断:
jq -r '.body_html | length' /srv/axis/sync/payload.json
jq -r '.body_html | length' /tmp/remote.json
jq -r '.body_html' /tmp/remote.json | grep -c 'cdn.example.com'- 按标题检索,确认没有重复记录:
curl -sS -H "Authorization: Bearer $SYNC_TOKEN" \
"https://api.example.com/v1/posts?q=$(jq -rn --arg t "$(cat /tmp/src-title.txt)" '$t|@uri')" \
| jq '.items | length'结果确认
- 标题 diff 无输出,标签数量一致,发布时间与源站一致。
- 目标正文长度与源正文相差在合理范围,关键图片链接数量相同。
- 按标题检索只返回 1 条记录,说明幂等生效。
- 目标记录状态为已发布或草稿,与本次同步的预期一致。
注意事项
- 正文长度差异要区分“正常清洗”与“被截断”,截断时目标长度会明显偏小。
- 检索接口可能有延迟,写入后立即查不到不代表失败,等索引刷新再判断。
- 检查结果写入同步记录,标明文章 ID、平台与检查时间,便于后续追溯。
- 比对前先统一空白与换行,平台编辑器会重排段落,直接逐字符比较会得到大量假差异。
- 检查发现不一致时,先停同步再修,不要在错误数据上继续追加新文章。
- 每个平台单独出一份检查结论,跨平台合并成一句“已同步”会掩盖局部失败。