的 Assets HTTP API允許對數字資產(包括元資料、格式副本和注釋)以及結構化內容(使用)執行建立 — 讀取 — 更新 — 刪除(CRUD)操作 Experience Manager 內容片段。 它在 /api/assets
並作為REST API實現。 包括 支援內容片段。
要訪問API:
https://[hostname]:[port]/api.json
。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:title
。 jcr:description
, jcr:language
替換為 dc
前置詞。 因此,在返回的JSON中, dc:title
和 dc:description
包含 jcr:title
和 jcr:description
的下界。
連結 資料夾公開三個連結:
self
:連結到自身。parent
:連結到父資料夾。thumbnail
:(可選)指向資料夾縮略圖的連結。在 Experience Manager 資產包含以下元素:
有關內容片段中元素的資訊,請參見 Experience Manager AssetsHTTP API中的內容片段支援。
在 Experience Manager 資料夾具有以下元件:
的 Assets HTTP API包括以下功能:
為便於閱讀,以下示例省略了完整的cURL符號。 符號與 雷斯蒂 是cURL的指令碼包裝。
檢索現有資料夾及其子實體(子資料夾或資產)的Siren表示法。
請求: GET /api/assets/myFolder.json
響應代碼:響應代碼為:
響應:返回的實體類是資產或資料夾。 包含的實體的屬性是每個實體的全部屬性集的子集。 為了獲得實體的完整表示形式,客戶端應檢索連結指向的URL的內容 rel
共 self
。
建立 sling
: OrderedFolder
在給定路徑上。 如果 *
提供而不是節點名稱,servlet將參數名稱用作節點名稱。 請求接受以下任一項:
application/www-form-urlencoded
或 multipart
/ 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"
響應代碼:響應代碼為:
請參閱 資產上載 的子菜單。 不能使用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"}}'
響應代碼:響應代碼為:
為資產建立格式副本。 如果未提供請求參數名,則檔案名將用作格式副本名稱。
參數:參數為 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"
響應代碼
更新分別用新二進位資料替換資產格式副本。
請求: PUT /api/assets/myfolder/myasset.png/renditions/myRendition.png -H"Content-Type: image/png" --data-binary @myRendition.png
響應代碼:響應代碼為:
參數:參數為 message
以獲取注釋和 annotationData
標籤。
請求: POST /api/assets/myfolder/myasset.png/comments/* -F"message=Hello World." -F"annotationData={}"
響應代碼:響應代碼為:
複製在提供的路徑中可用到新目標的資料夾或資產。
請求標題:參數包括:
X-Destination
- API解決方案作用域內的新目標URI,將資源複製到。X-Depth
- infinity
或 0
。 使用 0
只複製資源及其屬性,而不複製其子項。X-Overwrite
— 使用 F
來防止覆蓋現有目標上的資產。請求: COPY /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-copy"
響應代碼:響應代碼為:
將給定路徑上的資料夾或資產移動到新目標。
請求標題:參數包括:
X-Destination
- API解決方案作用域內的新目標URI,將資源複製到。X-Depth
- infinity
或 0
。 使用 0
只複製資源及其屬性,而不複製其子項。X-Overwrite
— 使用 T
強制刪除現有資源或 F
來防止覆蓋現有資源。請求: MOVE /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-moved"
響應代碼:響應代碼為:
刪除所提供路徑上的資源(-tree)。
要求
DELETE /api/assets/myFolder
DELETE /api/assets/myFolder/myAsset.png
DELETE /api/assets/myFolder/myAsset.png/renditions/original
響應代碼:響應代碼為:
在 關機時間,資產及其格式副本不可通過 Assets Web介面和通過HTTP API。 如果 準時 是將來的 關機時間 是過去。
資產HTTP API不返回完整的元資料。 命名空間是硬編碼的,只返回那些命名空間。 有關完整元資料,請參閱資產路徑 /jcr_content/metadata.json
。
使用API更新時,資料夾或資產的某些屬性會映射到其他前置詞。 的 jcr
前置詞 jcr:title
。 jcr:description
, jcr:language
替換為 dc
前置詞。 因此,在返回的JSON中, dc:title
和 dc:description
包含 jcr:title
和 jcr:description
的下界。