Adobe Experience Manager Assets HTTP API

概覽

的 Assets HTTP API允許對數字資產(包括元資料、格式副本和注釋)以及結構化內容(使用)執行建立 — 讀取 — 更新 — 刪除(CRUD)操作 Experience Manager 內容片段。 它在 /api/assets 並作為REST API實現。 包括 支援內容片段

要訪問API:

  1. 在以下位置開啟API服務文檔: https://[hostname]:[port]/api.json
  2. 關注 Assets 服務連結導向 https://[hostname]:[server]/api/assets.json

API響應是某些MIME類型的JSON檔案,是所有MIME類型的響應代碼。 JSON響應是可選的,可能不可用,例如,PDF檔案。 依靠響應代碼進行進一步分析或操作。

注意

與上傳或更新一般資產或二進位檔案(如格式副本)相關的所有API調用均不建議使用 Experience Manager 作為 Cloud Service 部署。 要上載二進位檔案,請使用 直接二進位上載API 的雙曲餘切值。

內容片段

A 內容片段 是一種特殊的資產類型。 它可用於訪問結構化資料,如文本、數字、日期等。 由於有幾種不同 standard 資產(如影像或文檔),某些附加規則適用於處理內容片段。

有關詳細資訊,請參見 在中支援內容片段 Experience Manager Assets HTTP API

資料模型

的 Assets HTTP API公開兩個主要元素,資料夾和資產(對於標準資產)。 此外,它還為描述內容片段中結構化內容的自定義資料模型顯示更詳細的元素。 請參閱 內容片段資料模型 的上界。

資料夾

資料夾與傳統檔案系統中的目錄類似。 資料夾只能包含資產、資料夾或資料夾和資產。 資料夾具有以下元件:

實體:資料夾的實體是其子元素,可以是資料夾和資產。

屬性:

  • name 是資料夾的名稱。 這與URL路徑中沒有副檔名的最後一個段相同。
  • title 是資料夾的可選標題,可以顯示該標題,而不是其名稱。
注意

資料夾或資產的某些屬性映射到其他前置詞。 的 jcr 前置詞 jcr:titlejcr:description, jcr:language 替換為 dc 前置詞。 因此,在返回的JSON中, dc:titledc:description 包含 jcr:titlejcr:description的下界。

連結 資料夾公開三個連結:

  • self:連結到自身。
  • parent:連結到父資料夾。
  • thumbnail:(可選)指向資料夾縮略圖的連結。

資產

在 Experience Manager 資產包含以下元素:

  • 資產的屬性和元資料。
  • 最初上載了資產的二進位檔案。
  • 配置了多個格式副本。 這些影像可以是不同大小的影像、不同編碼的視頻,或從PDF或 Adobe InDesign 的子菜單。
  • 可選注釋。

有關內容片段中元素的資訊,請參見 Experience Manager AssetsHTTP API中的內容片段支援

在 Experience Manager 資料夾具有以下元件:

  • 實體:資產的子項是其格式副本。
  • 屬性.
  • 連結.

可用功能

的 Assets HTTP API包括以下功能:

注意

為便於閱讀,以下示例省略了完整的cURL符號。 符號與 雷斯蒂 是cURL的指令碼包裝。

檢索資料夾清單

檢索現有資料夾及其子實體(子資料夾或資產)的Siren表示法。

請求: GET /api/assets/myFolder.json

響應代碼:響應代碼為:

  • 200 — 好 — 成功。
  • 404 — 未找到 — 資料夾不存在或無法訪問。
  • 500 — 內部伺服器錯誤 — 如果出現其他問題。

響應:返回的實體類是資產或資料夾。 包含的實體的屬性是每個實體的全部屬性集的子集。 為了獲得實體的完整表示形式,客戶端應檢索連結指向的URL的內容 relself

建立資料夾

建立 sling: OrderedFolder 在給定路徑上。 如果 * 提供而不是節點名稱,servlet將參數名稱用作節點名稱。 請求接受以下任一項:

  • 新資料夾的警報表示
  • 一組名稱 — 值對,編碼為 application/www-form-urlencodedmultipart/ form- data。 這些功能對於直接從HTML窗體建立資料夾非常有用。

此外,資料夾的屬性可以指定為URL查詢參數。

API調用失敗, 500 響應代碼(如果提供路徑的父節點不存在)。 呼叫返迴響應代碼 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 - PRECONTIDE FAILED — 如果找不到或無法訪問根集合。
  • 500 — 內部伺服器錯誤 — 如果出現其他問題。

建立資產

請參閱 資產上載 的子菜單。 不能使用HTTP API建立資產。

更新資產二進位

請參閱 資產上載 有關如何更新資產二進位檔案的資訊。 不能使用HTTP API更新資產二進位檔案。

更新資產的元資料

更新資產元資料屬性。 如果更新中的任何屬性 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 - PRECONTIDE 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 - PRECONTIDE FAILED — 如果找不到或無法訪問根集合。
  • 500 — 內部伺服器錯誤 — 如果出現其他問題。

更新資產格式副本

更新分別用新二進位資料替換資產格式副本。

請求: PUT /api/assets/myfolder/myasset.png/renditions/myRendition.png -H"Content-Type: image/png" --data-binary @myRendition.png

響應代碼:響應代碼為:

  • 200 — 確定 — 如果格式副本已成功更新。
  • 404 — 未找到 — 如果在提供的URI中找不到或無法訪問資產。
  • 412 - PRECONTIDE FAILED — 如果找不到或無法訪問根集合。
  • 500 — 內部伺服器錯誤 — 如果出現其他問題。

在資產上添加註釋

參數:參數為 message 以獲取注釋和 annotationData 標籤。

請求: POST /api/assets/myfolder/myasset.png/comments/* -F"message=Hello World." -F"annotationData={}"

響應代碼:響應代碼為:

  • 201 — 已建立 — 如果已成功建立注釋。
  • 404 — 未找到 — 如果在提供的URI中找不到或無法訪問資產。
  • 412 - PRECONTIDE FAILED — 如果找不到或無法訪問根集合。
  • 500 — 內部伺服器錯誤 — 如果出現其他問題。

複製資料夾或資產

複製在提供的路徑中可用到新目標的資料夾或資產。

請求標題:參數包括:

  • X-Destination - API解決方案作用域內的新目標URI,將資源複製到。
  • X-Depth - infinity0。 使用 0 只複製資源及其屬性,而不複製其子項。
  • X-Overwrite — 使用 F 來防止覆蓋現有目標上的資產。

請求: COPY /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-copy"

響應代碼:響應代碼為:

  • 201 — 已建立 — 如果資料夾/資產已複製到非現有目標。
  • 204 — 無內容 — 如果資料夾/資產已複製到現有目標。
  • 412 - PRECONTIDE FAILED — 如果缺少請求標頭。
  • 500 — 內部伺服器錯誤 — 如果出現其他問題。

移動資料夾或資產

將給定路徑上的資料夾或資產移動到新目標。

請求標題:參數包括:

  • X-Destination - API解決方案作用域內的新目標URI,將資源複製到。
  • X-Depth - infinity0。 使用 0 只複製資源及其屬性,而不複製其子項。
  • X-Overwrite — 使用 T 強制刪除現有資源或 F 來防止覆蓋現有資源。

請求: MOVE /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-moved"

響應代碼:響應代碼為:

  • 201 — 已建立 — 如果資料夾/資產已複製到非現有目標。
  • 204 — 無內容 — 如果資料夾/資產已複製到現有目標。
  • 412 - PRECONTIDE FAILED — 如果缺少請求標頭。
  • 500 — 內部伺服器錯誤 — 如果出現其他問題。

刪除資料夾、資產或格式副本

刪除所提供路徑上的資源(-tree)。

要求

  • DELETE /api/assets/myFolder
  • DELETE /api/assets/myFolder/myAsset.png
  • DELETE /api/assets/myFolder/myAsset.png/renditions/original

響應代碼:響應代碼為:

  • 200 — 確定 — 如果資料夾已成功刪除。
  • 412 - PRECONTIDE FAILED — 如果找不到或無法訪問根集合。
  • 500 — 內部伺服器錯誤 — 如果出現其他問題。

提示、最佳做法和限制

  • 在 關機時間,資產及其格式副本不可通過 Assets Web介面和通過HTTP API。 如果 準時 是將來的 關機時間 是過去。

  • 資產HTTP API不返回完整的元資料。 命名空間是硬編碼的,只返回那些命名空間。 有關完整元資料,請參閱資產路徑 /jcr_content/metadata.json

  • 使用API更新時,資料夾或資產的某些屬性會映射到其他前置詞。 的 jcr 前置詞 jcr:titlejcr:description, jcr:language 替換為 dc 前置詞。 因此,在返回的JSON中, dc:titledc:description 包含 jcr:titlejcr:description的下界。

本頁內容