此 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 as a 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 Assets HTTP API中的內容片段支援.
在 Experience Manager 資料夾具有下列元件:
此 Assets HTTP API包含下列功能:
為方便閱讀,下列範例會忽略完整的cURL備注。 標籤符號與 雷斯蒂 是cURL的指令碼包裝函式。
檢索現有資料夾及其子實體(子資料夾或資產)的Siren表示。
要求: GET /api/assets/myFolder.json
回應代碼:回應代碼為:
回應:傳回的實體類別為資產或資料夾。 包含實體的屬性是每個實體的全部屬性集的子集。 為了取得實體的完整表示法,用戶端應擷取連結所指向之URL的內容,該連結具有 rel
of 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
,以取得JSON格式的附註資料。
要求: 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 網頁介面和透過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
,分別為。