You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Kentico 13 REST API获取页面永久链接?

解决Kentico 13 REST API获取页面永久链接的问题

问题描述

我正在为运行Kentico 13的客户开发导出工具,要将内容导入WordPress。通过以下curl命令获取所有对象的JSON数据:

curl -u USERNAME:PASSWORD -X GET https://mykentico.site/xp-admin/rest/content/currentsite/en-us/all?format=json

再通过单个AliasPath查询页面详情:

curl -u USERNAME:PASSWORD -X GET https://mykentico.site/xp-admin/rest/content/currentsite/en-us/document/News-Overview/June-2024/Hello-World?format=json

但返回的JSON中没有permalink或可推导前端永久链接的字段,实际前端URL(如https://mykentico.site/newsletter/june-2024/hello-foobar-world)和AliasPath路径、名称不一致,需要通过REST API获取准确的永久链接用于URL映射。

可行解决方案

1. 使用文档GUID调用URL生成端点

Kentico 13的REST API提供了专门生成页面URL的端点,你需要先通过文档详情获取DocumentGUID字段,然后调用:

curl -u USERNAME:PASSWORD -X GET https://mykentico.site/xp-admin/rest/content/currentsite/en-us/document/{DocumentGUID}/url?format=json

这个端点会直接返回该页面的前端完整永久链接,格式类似:

{
  "Url": "https://mykentico.site/newsletter/june-2024/hello-foobar-world"
}

2. 检查返回字段中的URL相关属性

部分情况下,文档详情的JSON可能包含以下字段,可用于推导或直接获取URL:

  • NodeAliasPath:基础路径,但可能和前端URL不同,需结合站点的URL重写规则调整
  • DocumentName:页面名称,可能对应URL中的最后一段(如果URL规则是基于名称生成)
  • DocumentURLPath:如果站点配置了友好URL,这个字段可能存储了生成后的URL路径(需验证)

3. 批量获取文档URL

如果需要批量处理,可循环遍历所有文档的GUID,逐个调用URL生成端点。部分Kentico 13版本支持通过/rest/content/currentsite/en-us/url端点传递多个文档GUID参数实现批量获取(需根据实际环境验证)。

4. 自定义REST字段(需后台配置)

如果允许修改Kentico后台配置,可以创建自定义字段返回永久链接:

  • 进入Kentico后台的内容类型配置界面
  • 给目标内容类型添加一个计算字段,宏表达式设为{% DocumentURL %}
  • 重新调用文档详情的REST API,即可在返回结果中看到该字段对应的永久链接值

内容的提问来源于stack exchange,提问作者alfy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 14:20:05