Show Menu
主题×

资产 HTTP API

概述

资产HTTP API允许对数字资产(包括元数据、演绎版和注释)以及使用内容片段的结构化内容执行创建读取更新删除(CRUD) Experience Manager 操作。 它在上公 /api/assets 开,并作为REST API实施。 它包含 对内容片段的支持
访问API:
  1. 在打开API服务文档 https://[hostname]:[port]/api.json
  2. 按照以下链接的“资产”服务链 https://[hostname]:[server]/api/assets.json 接:
API响应是某些MIME类型的JSON文件和所有MIME类型的响应代码。 JSON响应是可选的,可能不可用,例如PDF文件。 依赖响应代码进行进一步的分析或操作。
结束 后,资产及其演绎版不能通过Web界 Assets 面和HTTP API使用。 如果“开始时间”为将来,或“结束 时间 ”为过去,则 API会返回 404错误消息。

内容片段

容片段 是一种特殊类型的资产。 它可用于访问结构化数据,如文本、数字、日期等。 由于资产(如图像或文档 standard )存在多种差异,因此一些其他规则适用于处理内容片段。

Data model

资产HTTP API公开两个主要元素、文件夹和资产(对于标准资产)。
此外,它还针对描述内容片段中结构化内容的自定义数据模型显示更详细的元素。 有关更 多信息,请参阅 “内容片段数据模型”。

文件夹

文件夹类似于传统文件系统中的目录。 它们是其他文件夹或声明的容器。 文件夹具有以下组件:
实体 : 文件夹的实体是其子元素,可以是文件夹和资产。
属性 :
  • name 是文件夹的名称。 这与URL路径中没有扩展名的最后一个区段相同。
  • title 是文件夹的可选标题,可以显示该标题而不是其名称。
文件夹或资产的某些属性会映射到其他前缀。 前缀 jcr jcr:title jcr:description 将替换为 jcr:language 前缀 dc 。 因此,在返回的JSON dc:title dc:description ,并分别 jcr:title 包含和 jcr:description 的值。
链接 “文件夹”显示三个链接:
  • self : 链接到自身。
  • parent : 链接到父文件夹。
  • thumbnail : (可选)指向文件夹缩略图图像的链接。

资产

在Experience Manager中,资产包含以下元素:
  • 资产的属性和元数据。
  • 多个演绎版,如原始演绎版(最初上传的资产)、缩略图和各种其他演绎版。 其他再现可能是不同大小、不同视频编码或从PDF或文件提取页面的 Adobe InDesign 图像。
  • 可选注释。
有关内容片段中元素的信息,请 参阅Experience Manager Assets HTTP API中的内容片段支持
在文 Experience Manager 件夹中,具有以下组件:
  • 实体: 资产的子项是其演绎版。
  • 属性.
  • 链接.
资产HTTP API包括以下功能:
  • 检索文件夹列表。
  • 创建文件夹。
  • 创建资产。
  • 更新资产二进制。
  • 更新资产元数据。
  • 创建资产演绎版。
  • 更新资产演绎版。
  • 创建资产评论。
  • 复制文件夹或资产。
  • 移动文件夹或资产。
  • 删除文件夹、资产或演绎版。
为了便于读取,以下示例忽略完整的cURL记号。 事实上,该记号与Resty 相关 ,Resty是它的脚本包装器 cURL
前提条件
  • 访问 https://[aem_server]:[port]/system/console/configMgr .
  • 导航到 Adobe Granite CSRF滤镜
  • 确保属性筛选 器方法 包括: POST , PUT , DELETE

检索文件夹列表

检索现有文件夹及其子实体(子文件夹或资源)的Siren表示形式。
请求 : GET /api/assets/myFolder.json
响应代码 : 响应代码为:
  • 200 —— 好——成功。
  • 404 —— 未找到——文件夹不存在或无法访问。
  • 500 —— 内部服务器错误——如果出现其他问题。
响应 : 返回的实体类是资产或文件夹。 包含的实体的属性是每个实体的全部属性集的子集。 为了获得实体的完整表示形式,客户端应检索链接指向的URL的内容,其中 rel 包含 self :

Create a folder

创建新 sling : OrderedFolder 在给定路径上。 如果提 * 供的不是节点名称,则servlet将参数名称用作节点名称。 作为请求数据接受是新文件夹的Siren表示形式或一组名称——值对,编码为 application/www-form-urlencoded multipart / form``data -,对于直接从HTML表单创建文件夹很有用。 此外,文件夹的属性可以指定为URL查询参数。
如果提供路径的父节 500 点不存在,则API调用将失败,并带有响应代码。 如果文件夹已存在, 409 则调用会返回响应代码。
参数 : name 是文件夹名称。
请求
  • POST /api/assets/myFolder -H"Content-Type: application/json" -d '{"class":"assetFolder","properties":{"title":"My Folder"}}'
  • POST /api/assets/* -F"name=myfolder" -F"title=My Folder"
响应代码 : 响应代码为:
  • 201 —— 创建——成功创建时。
  • 409 —— 冲突——如果文件夹已存在。
  • 412 - PREPOSITATION FAILED —— 如果找不到或访问根集合。
  • 500 —— 内部服务器错误——如果出现其他问题。

创建资产

将提供的文件放在提供的路径上,以在DAM存储库中创建资产。 如果提 * 供的不是节点名称,则servlet将参数名称或文件名用作节点名称。
参数 : 参数用 name 于资产名称和 file 文件引用。
请求
  • POST /api/assets/myFolder/myAsset.png -H"Content-Type: image/png" --data-binary "@myPicture.png"
  • POST /api/assets/myFolder/* -F"name=myAsset.png" -F" file=@myPicture.png "
响应代码 : 响应代码为:
  • 201 —— 已创建——如果资产创建成功。
  • 409 —— 冲突——如果资产已存在。
  • 412 - PREPOSITATION FAILED —— 如果找不到或访问根集合。
  • 500 —— 内部服务器错误——如果出现其他问题。

更新资产二进制

更新资产的二进制文件(原始名称的演绎版)。 如果已配置更新,则更新会触发要执行的默认资产处理工作流。
请求 : PUT /api/assets/myfolder/myAsset.png -H"Content-Type: image/png" --data-binary @myPicture.png
响应代码 : 响应代码为:
  • 200 —— 确定——如果资产已成功更新。
  • 404 —— 未找到——如果在提供的URI中找不到或访问资产,请执行此操作。
  • 412 - PREPOSITATION FAILED —— 如果找不到或访问根集合。
  • 500 —— 内部服务器错误——如果出现其他问题。

更新资产元数据

更新资产元数据属性。 如果更新命名空间中的任 dc: 何属性,API将更新命名空间中的同一属 jcr 性。 API不同步两个命名空间下的属性。
请求 : PUT /api/assets/myfolder/myAsset.png -H"Content-Type: application/json" -d '{"class":"asset", "properties":{"dc:title":"My Asset"}}'
响应代码 : 响应代码为:
  • 200 —— 确定——如果资产已成功更新。
  • 404 —— 未找到——如果在提供的URI中找不到或访问资产,请执行此操作。
  • 412 - PREPOSITATION FAILED —— 如果找不到或访问根集合。
  • 500 —— 内部服务器错误——如果出现其他问题。

创建资产演绎版

为资产创建新资产演绎版。 如果未提供请求参数名称,则文件名将用作再现名称。
参数 : 这些参数 name 用于再现的名称 file 和文件引用。
请求
  • POST /api/assets/myfolder/myasset.png/renditions/web-rendition -H"Content-Type: image/png" --data-binary "@myRendition.png"
  • POST /api/assets/myfolder/myasset.png/renditions/* -F"name=web-rendition" -F" file=@myRendition.png "
响应代码 : 响应代码为:
  • 201 —— 已创建——如果再现已成功创建。
  • 404 —— 未找到——如果在提供的URI中找不到或访问资产,则返回该资产。
  • 412 - PREPOSITATION FAILED —— 如果找不到或访问根集合。
  • 500 —— 内部服务器错误——如果出现其他问题。

更新资产演绎版

更新分别用新的二进制数据替换资产演绎版。
请求 : PUT /api/assets/myfolder/myasset.png/renditions/myRendition.png -H"Content-Type: image/png" --data-binary @myRendition.png
响应代码 : 响应代码为:
  • 200 —— 确定——如果再现已成功更新。
  • 404 —— 未找到——如果在提供的URI中找不到或访问资产,请执行此操作。
  • 412 - PREPOSITATION FAILED —— 如果找不到或访问根集合。
  • 500 —— 内部服务器错误——如果出现其他问题。

在资产上添加评论

创建新资产注释。
参数 : 参数用 message 于注释的消息正文和 annotationData JSON格式的注释数据。
请求 : POST /api/assets/myfolder/myasset.png/comments/* -F"message=Hello World." -F"annotationData={}"
响应代码 : 响应代码为:
  • 201 —— 已创建——如果注释已成功创建。
  • 404 —— 未找到——如果在提供的URI中找不到或访问资产,请执行此操作。
  • 412 - PREPOSITATION FAILED —— 如果找不到或访问根集合。
  • 500 —— 内部服务器错误——如果出现其他问题。

复制文件夹或资产

复制提供的路径中提供到新目标的文件夹或资产。
请求标题 : 参数包括:
  • X-Destination - API解决方案范围中要将资源复制到的新目标URI。
  • X-Depth - infinity 0 。 仅使 0 用会复制资源及其属性,而不复制其子项。
  • X-Overwrite -使用 F 防止覆盖现有目标位置的资产。
请求 : COPY /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-copy"
响应代码 : 响应代码为:
  • 201 —— 已创建——如果文件夹/资产已复制到非现有目标。
  • 204 —— 无内容——如果文件夹/资产已复制到现有目标。
  • 412 - PREPOSITATION FAILED —— 如果缺少请求标头。
  • 500 —— 内部服务器错误——如果出现其他问题。

移动文件夹或资产

将给定路径上的文件夹或资产移动到新目标。
请求标题 : 参数包括:
  • X-Destination - API解决方案范围中要将资源复制到的新目标URI。
  • X-Depth - infinity 0 。 仅使 0 用会复制资源及其属性,而不复制其子项。
  • X-Overwrite -使用强制 T 删除现有资源或防止覆 F 盖现有资源。
请求 : MOVE /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-moved"
响应代码 : 响应代码为:
  • 201 —— 已创建——如果文件夹/资产已复制到非现有目标。
  • 204 —— 无内容——如果文件夹/资产已复制到现有目标。
  • 412 - PREPOSITATION FAILED —— 如果缺少请求标头。
  • 500 —— 内部服务器错误——如果出现其他问题。

删除文件夹、资产或演绎版

删除提供路径上的资源(-tree)。
请求
  • DELETE /api/assets/myFolder
  • DELETE /api/assets/myFolder/myAsset.png
  • DELETE /api/assets/myFolder/myAsset.png/renditions/original
响应代码 : 响应代码为:
  • 200 —— 确定——如果文件夹已成功删除。
  • 412 - PREPOSITATION FAILED —— 如果找不到或访问根集合。
  • 500 —— 内部服务器错误——如果出现其他问题。