探索基于AEM OpenAPI的内容片段投放API
AEM中的使用OpenAPI API的提供了一种强大的方式,可以将结构化内容交付到任何应用程序或渠道。 在本章中,我们探索如何使用OpenAPI通过文档的? 尝试 ?功能检索内容片段。
先决条件 prerequisites
这是一个多部分教程,并假定已完成创作内容片段中概述的步骤。
确保具备以下各项:
- 础贰惭发布服务(例如,
https://publish-<PROGRAM_ID>-e<ENVIRONMENT_ID >.adobeaemcloud.com/
) 内容片段的主机名已发布到。 如果要发布AEM Preview服务,请使用该主机名(例如https://preview-<PROGRAM_ID>-e<ENVIRONMENT_ID>.adobeaemcloud.com/
)。
目标 objectives
- 熟悉。
- 使用础笔滨文档? 调用础笔滨尝试它 ?功能。
传递 API
使用OpenAPI的AEM内容片段投放提供了一个RESTful界面来检索内容片段。 本教程中讨论的API仅在AEM Publish和Preview服务中可用,在Author服务中不可用。 上的内容片段交互的其他翱辫别苍础笔滨。
探索础笔滨
具有“试用”功能,允许您浏览这些API并直接从浏览器测试它们。 这是熟悉API端点及其功能的好方法。
在浏览器中打开。
础笔滨列在左侧导航的? 片段投放 ?部分下。 您可以展开此部分以查看可用的础笔滨。 选择API会在主面板中显示API详细信息,右边栏中会显示? 试用 ?部分,该部分允许您直接从浏览器测试和浏览础笔滨。
列出内容片段
- 在浏览器中使用翱辫别苍础笔滨开发人员文档础贰惭内容片段投放。
- 在左侧导航中,展开? 片段投放 ?部分,然后选择? 列出所有内容片段 API
此API允许您按文件夹从AEM中检索所有内容片段的分页列表。 使用此API最简单的方法是提供包含内容片段的文件夹的路径。
- 在右边栏的顶部选择? 尝试它。
- 输入API将连接以检索内容片段的AEM服务的标识符。 存储段是AEM Publish(或预览)服务URL的第一部分,格式通常为:
publish-p<PROGRAM_ID>-e<ENVIRONMENT_ID>
或preview-p<PROGRAM_ID>-e<ENVIRONMENT_ID>
。
由于我们使用的是AEM Publish服务,请将存储段设置为AEM Publish服务标识符。 例如:
- 分段:
publish-p138003-e1400351
设置存储段后,罢补谤驳别迟服务器 ?字段会自动更新为AEM发布服务的完整API URL,例如: https://publish-p138003-e1400351.adobeaemcloud.com/adobe/contentFragments
-
展开? 安全 ?部分并将? 安全方案 ?设置为? 无。 这是因为AEM Publish服务(和预览服务)不需要使用OpenAPI进行AEM内容片段投放的身份验证。
-
展开? 参数 ?部分以提供要获取的内容片段的详细信息。
-
cursor:留空,用于分页,这是初始请求。
-
limit:留空,用于限制每页结果返回的结果数。
-
路径:
/content/dam/my-project/en
note tip TIP 输入路径时,请确保其前缀为 /content/dam/
且? 不是 ?以尾随斜杠/
结尾。
-
选择? 发送 ?按钮以执行础笔滨调用。
-
在? 尝试它 ?面板的? 响应 ?选项卡中,您应该会看到一个包含指定文件夹中的内容片段列表的JSON响应。 响应将类似于以下内容:
-
响应包含
path
参数的/content/dam/my-project
文件夹下的所有内容片段,包括子文件夹,包括? 人员 ?和? 团队 ?内容片段。 -
点击
items
数组并找到Team Alpha
项的id
值。 该ID在下一部分中用于检索单个内容片段的详细信息。 -
在? 尝试它 ?面板的顶部选择? 编辑请求 ?以及API调用中的各种参数,以查看响应的变化。 例如,您可以将路径更改为包含内容片段的其他文件夹,也可以添加查询参数以筛选结果。 例如,将
path
参数更改为/content/dam/my-project/teams
以仅显示该文件夹(和子文件夹)中的内容片段。
获取内容片段详细信息
与? List all Content Fragments 础笔滨类似,Get a Content Fragment API通过其ID以及任何可选引用来检索单个内容片段。 要探索此API,我们将请求引用多个人员内容片段的团队内容片段。
- 展开左边栏中的? 片段投放 ?部分,然后选择? 获取内容片段 础笔滨。
- 在右边栏的顶部选择? 尝试它。
- 验证
bucket
是否指向您的AEM as a Cloud Service发布或预览服务。 - 展开? 安全 ?部分并将? 安全方案 ?设置为? 无。 这是因为AEM Publish服务不需要对OpenAPI的AEM内容片段投放进行身份验证。
- 展开? 参数 ?部分以提供要获取的内容片段的详细信息:
在此示例中,使用在上一节中检索的团队内容片段的ID。 例如,对于? 列出所有内容片段 ?中的此内容片段响应,使用id
的b954923a-0368-4fa2-93ea-2845f599f512
字段中的值。 (您的id
将与教程中使用的值不同。)
{
"path": "/content/dam/my-project/teams/team-alpha",
"name": "",
"title": "Team Alpha",
"id": "50f28a14-fec7-4783-a18f-2ce2dc017f55", // This is the Content Fragment ID
"description": "",
"model": {},
"fields": {}
}
- fragmentId:
50f28a14-fec7-4783-a18f-2ce2dc017f55
- 个引用:
none
- depth:留空,references ?参数将指定所引用片段的深度。
- 水合:留空,引用 ?参数将指定所引用片段的水合。
- If-None-Match:留空
-
选择? 发送 ?按钮以执行础笔滨调用。
-
在? 尝试 ?面板的? 响应 ?选项卡中查看响应。 您应该会看到一个JSON响应,其中包含内容片段的详细信息,包括其属性和任何引用。
-
在? 尝试它 ?面板的顶部选择? 编辑请求,并在? 参数 ?部分中,将
references
参数调整为all-hydrated
,使所有引用的内容片段的内容包含在础笔滨调用中。- fragmentId:
50f28a14-fec7-4783-a18f-2ce2dc017f55
- 个引用:
all-hydrated
- depth:留空,references ?参数将指定所引用片段的深度。
- 水合:留空,引用 ?参数将指定所引用片段的水合。
- If-None-Match:留空
- fragmentId:
-
选择? 重新发送 ?按钮以再次执行础笔滨调用。
-
在? 尝试 ?面板的? 响应 ?选项卡中查看响应。 您应该会看到一个JSON响应,其中包含内容片段的详细信息,包括其属性和引用的人员内容片段的属性。
请注意,teamMembers
数组现在包含引用的人员内容片段的详细信息。 通过水化引用,可在单个API调用中检索所有必需的数据,这对于减少客户端应用程序发出的请求数量尤其有用。
恭喜!
恭喜,您已使用础贰惭文档的? 试用 ?功能,通过OpenAPI API调用创建并执行了多个础贰惭内容片段交付。
后续步骤
在下一章构建搁别补肠迟应用程序中,您将探索外部应用程序如何通过OpenAPI API与AEM内容片段投放交互。