介绍
Open API 提供了对 CMS 内容的公开数据接口,方便任意前端应用在任意场景下对 CMS 内容的对接使用。
访问权限
默认情况下,API 访问为关闭状态,此时无法使用 OPEN API 访问内容数据。你需要在「项目设置」-「API 访问」中启用内容集合的访问权限,点击「复制访问链接」,在浏览器中打开复制的访问链接,即可看到内容数据。
提示
如果项目选择了存储至云开发环境数据库,则不可通过OPEN API获取数据,但您可以在对应环境的数据库中查看并管理该集合,并通过SDK调用。
API 请求
请求路径
OPEN API 请求路径由以下几部分组成:
- env:环境 ID
- region:地域,如 ap-shanghai
- kitId:CMS 的实例 ID
- projectId:CMS 项目唯一 ID
- collectionId:CMS 集合唯一 ID
如:
`https://${env}.${region}.kits.tcloudbase.com/cms/${kitId}/v1/open-api/projects/${projectId}/collections/${collectionId}/contents?limit=10&offset=0`;
使用示例
- Web
- Node.js
- Shell
const axios = require("axios");
const env = "<环境 ID>";
const region = "<地域,如 ap-shanghai>";
const kitId = "<CMS 的实例 ID>";
const projectId = "<CMS 项目唯一 ID>";
const collectionId = "<CMS 集合唯一 ID>";
const data = await axios.get(
`https://${env}.${region}.kits.tcloudbase.com/cms/${kitId}/v1/open-api/projects/${projectId}/collections/${collectionId}/contents?limit=10&offset=0`
);
const axios = require("axios");
const env = "<环境 ID>";
const region = "<地域,如 ap-shanghai>";
const kitId = "<CMS 的实例 ID>";
const projectId = "<CMS 项目唯一 ID>";
const collectionId = "<CMS 集合唯一 ID>";
const data = await axios.get(
`https://${env}.${region}.kits.tcloudbase.com/cms/${kitId}/v1/open-api/projects/${projectId}/collections/${collectionId}/contents?limit=10&offset=0`
);
env="<环境 ID>" && \
region="<地域,如 ap-shanghai>" && \
kitId="<CMS 的实例 ID>" && \
projectId="<CMS 项目唯一 ID>" && \
collectionId="<CMS 集合唯一 ID>" && \
curl "https://$env.$region.kits.tcloudbase.com/cms/$kitId/v1/open-api/projects/$projectId/collections/$collectionId/contents?limit=10&offset=0"
注意事项
所有 POST 请求的 body 均应为
application/json
类型,请勿使用其他的类型。所有 OPEN API 的查询接口都有一分钟左右的缓存,即在管理页面更新数据后,OPEN API 大概在一分钟后生效。
请求时传入的参数会覆盖默认的行为表现,如指定了返回结果要携带某个字段,但是在模型定义中此字段在 API 返回值中为隐藏的,遵循以上原则,则返回数据时,此字段会存在。