Digitale middelen beheren met de Adobe Experience Manager Assets HTTP API
- Onderwerpen:
- Assets HTTP API
Gemaakt voor:
- Ontwikkelaar
- Beheerder
Aan de slag met de AEM Assets HTTP API
Met de AEM Assets HTTP API zijn CRUD-bewerkingen (maken, lezen, bijwerken en verwijderen) op digitale elementen mogelijk via een REST-interface die beschikbaar is op /api/assets
. Deze bewerkingen zijn van toepassing op metagegevens van elementen, uitvoeringen en opmerkingen. Het omvat steun voor de Fragmenten van de Inhoud.
De API openen:
- Open het API-servicedocument op
https://[hostname]:[port]/api.json
. - Volg de servicekoppeling Assets naar
https://[hostname]:[server]/api/assets.json
.
De API-reactie is een JSON-bestand voor sommige MIME-typen en een antwoordcode voor alle MIME-typen. Het JSON-antwoord is optioneel en is mogelijk niet beschikbaar, bijvoorbeeld voor PDF-bestanden. Vertrouw op de antwoordcode voor verdere analyse of acties.
Inhoudsfragmenten beheren
A het Fragment van de Inhoudis een gestructureerd middel dat tekst, aantallen, en data opslaat. Aangezien er verschillende verschillen zijn tussen standard
-elementen (zoals afbeeldingen of documenten), zijn er enkele aanvullende regels van toepassing op de afhandeling van inhoudsfragmenten.
Voor meer informatie, zie de steun van de Fragmenten van de Inhoud in Experience Manager Assets HTTP API.
Onderzoek het gegevensmodel
De Assets HTTP API stelt hoofdzakelijk twee elementen bloot: omslagen en standaardactiva. Het biedt ook gedetailleerde elementen voor aangepaste gegevensmodellen die in Inhoudsfragmenten worden gebruikt. Zie Gegevensmodellen van inhoudsfragmenten voor meer informatie. Zie {de gegevensmodellen van het Fragment van 0} Inhoud 🔗 voor verdere informatie.
Mappen beheren
Mappen zijn vergelijkbaar met mappen zoals in traditionele bestandssystemen. Mappen kunnen elementen, submappen of beide bevatten. Mappen hebben de volgende componenten:
Entiteiten: De entiteiten van een omslag zijn zijn kindelementen, die omslagen en activa kunnen zijn.
Eigenschappen:
name
: De naam van de map (het laatste segment van het URL-pad, zonder de extensie).title
: Een optionele titel die wordt weergegeven in plaats van de mapnaam.
jcr
van jcr:title
, jcr:description
en jcr:language
wordt vervangen door het voorvoegsel dc
. Daarom bevatten dc:title
en dc:description
in de geretourneerde JSON de waarden van respectievelijk jcr:title
en jcr:description
.de Omslagen van Verbindingen stellen drie verbindingen bloot:
self
: Een koppeling naar de map zelf.parent
: een koppeling naar de bovenliggende map.thumbnail
(Optioneel): een koppeling naar een miniatuurafbeelding van een map.
Elementen beheren
In Experience Manager bevat een element de volgende elementen:
- Eigenschappen en meta-gegevens: Beschrijvende informatie over de activa.
- Binair dossier: het oorspronkelijk geüploade dossier.
- Vertoningen: Veelgevormde vertoningen (zoals, beelden in diverse grootte, verschillende videocoderingen, of gehaalde pagina's van Pdfs/Adobe InDesign dossiers).
- Commentaren (facultatief): user-provided commentaren.
Voor informatie over elementen in de Fragmenten van de Inhoud zie de Steun van de Fragmenten van de Inhoud in HTTP van Experience Manager Assets API.
In Experience Manager heeft een map de volgende componenten:
- Entiteiten: De onderliggende elementen van activa zijn de uitvoeringen.
- Eigenschappen.
- Koppelingen.
Beschikbare API-bewerkingen verkennen
De Assets HTTP API bevat de volgende functies:
- wint een omslaglijstterug.
- creeer een omslag.
- Een element maken (afgekeurd)
- de activa binaire van de Update (afgekeurd).
- de activameta-gegevens van de Update.
- creeer een activa vertoning.
- werk een activavertoningbij.
- creeer een activacommentaar.
- Kopieer een omslag of activa.
- Beweeg een omslag of activa.
- Schrap een omslag, activa, of vertoning.
Een mappenlijst ophalen
Haalt een Siren-weergave op van een bestaande map en van de onderliggende entiteiten (submappen of elementen).
Verzoek: GET /api/assets/myFolder.json
de codes van de Reactie: De antwoordcodes zijn:
- 200 - OK - succes.
- 404 - NIET GEVONDEN - map bestaat niet of is niet toegankelijk.
- 500 - INTERNE SERVERFOUT - als iets anders fout gaat.
Reactie: De klasse van de teruggekeerde entiteit is activa of een omslag. De eigenschappen van ingesloten entiteiten vormen een subset van de volledige reeks eigenschappen van elke entiteit. Om een volledige weergave van de entiteit te verkrijgen, moeten clients de inhoud ophalen van de URL waarnaar de koppeling verwijst met een rel
van self
.
Een map maken
Maakt een sling
: OrderedFolder
op het opgegeven pad. Als *
wordt verstrekt in plaats van een knoopnaam, gebruikt servlet de parameternaam als knooppuntnaam. In het verzoek worden de volgende twee handelingen geaccepteerd:
- Een Sirene-weergave van de nieuwe map
- Een set naam-waardeparen, gecodeerd als
application/www-form-urlencoded
ofmultipart
/form
-data
. Deze zijn handig als u een map rechtstreeks vanuit een HTML-formulier wilt maken.
Ook kunnen eigenschappen van de map worden opgegeven als URL-queryparameters.
Een API-aanroep mislukt met een antwoordcode 500
als het bovenliggende knooppunt van het opgegeven pad niet bestaat. Een aanroep retourneert een antwoordcode 409
als de map bestaat.
Parameters: name
is de omslagnaam.
Verzoek
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"
de codes van de Reactie: De antwoordcodes zijn:
- 201 - GEMAAKT - over succesvol maken.
- 409 - CONFLICT - als de map bestaat.
- 412 - VOORWAARDE MISLUKT - als de wortelinzameling niet kan worden gevonden of worden betreden.
- 500 - INTERNE SERVERFOUT - als iets anders fout gaat.
Een element maken
Het maken van elementen wordt niet ondersteund via deze HTTP-API. Voor activa verwezenlijking, gebruik activa uploadtAPI.
Elementbinair bijwerken
Zie activa uploadenvoor informatie over hoe te om activa binaries bij te werken. U kunt een element binair niet bijwerken gebruikend HTTP API.
Metagegevens van een element bijwerken
Met deze bewerking worden de metagegevens van het element bijgewerkt. Wanneer u eigenschappen in de naamruimte dc:
bijwerkt, wordt de bijbehorende eigenschap jcr:
bijgewerkt. De API synchroniseert de eigenschappen echter niet onder de twee naamruimten.
Verzoek: PUT /api/assets/myfolder/myAsset.png -H"Content-Type: application/json" -d '{"class":"asset", "properties":{"dc:title":"My Asset"}}'
de codes van de Reactie: De antwoordcodes zijn:
- 200 - OK - als Asset met succes is bijgewerkt.
- 404 - NIET GEVONDEN - als Asset niet kon worden gevonden of betreden op de verstrekte URI.
- 412 - VOORWAARDE MISLUKT - als de wortelinzameling niet kan worden gevonden of worden betreden.
- 500 - INTERNE SERVERFOUT - als iets anders fout gaat.
Een elementuitvoering maken
Een uitvoering voor een element maken. Als de naam van de parameter request niet wordt opgegeven, wordt de bestandsnaam gebruikt als naam voor de vertoning.
Parameters: De parameters zijn:
name
: voor de renditienaam.file
: Het binaire bestand voor de vertoning als een verwijzing.
Verzoek
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"
de codes van de Reactie
- 201 - GEMAAKT - als de vertoning is gemaakt.
- 404 - NIET GEVONDEN - als Asset niet kon worden gevonden of betreden op de verstrekte URI.
- 412 - VOORWAARDE MISLUKT - als de wortelinzameling niet kan worden gevonden of worden betreden.
- 500 - INTERNE SERVERFOUT - als iets anders fout gaat.
Een elementuitvoering bijwerken
Updates vervangen respectievelijk een elementuitvoering door de nieuwe binaire gegevens.
Verzoek: PUT /api/assets/myfolder/myasset.png/renditions/myRendition.png -H"Content-Type: image/png" --data-binary @myRendition.png
de codes van de Reactie: De antwoordcodes zijn:
- 200 - OK - als de vertoning correct is bijgewerkt.
- 404 - NIET GEVONDEN - als Asset niet kon worden gevonden of betreden op de verstrekte URI.
- 412 - VOORWAARDE MISLUKT - als de wortelinzameling niet kan worden gevonden of worden betreden.
- 500 - INTERNE SERVERFOUT - als iets anders fout gaat.
Een opmerking toevoegen aan een element
Parameters: De parameters zijn message
voor het berichtlichaam van de commentaar en annotationData
voor de gegevens van de Annotatie in formaat JSON.
Verzoek: POST /api/assets/myfolder/myasset.png/comments/* -F"message=Hello World." -F"annotationData={}"
de codes van de Reactie: De antwoordcodes zijn:
- 201 - GEMAAKT - als Opmerking is gemaakt.
- 404 - NIET GEVONDEN - als Asset niet kon worden gevonden of betreden op de verstrekte URI.
- 412 - VOORWAARDE MISLUKT - als de wortelinzameling niet kan worden gevonden of worden betreden.
- 500 - INTERNE SERVERFOUT - als iets anders fout gaat.
Een map of element kopiëren
Hiermee kopieert u een map of element die beschikbaar is op het opgegeven pad naar een nieuwe bestemming.
Kopballen van het Verzoek: De parameters zijn:
X-Destination
- een nieuwe doel-URI binnen het bereik van de API-oplossing waarnaar de bron moet worden gekopieerd.X-Depth
- ofwelinfinity
of0
. Wanneer u0
gebruikt, worden alleen de bron en de eigenschappen ervan gekopieerd en niet de onderliggende elementen.X-Overwrite
- GebruikF
om te voorkomen dat een element op het bestaande doel wordt overschreven.
Verzoek: COPY /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-copy"
de codes van de Reactie: De antwoordcodes zijn:
- 201 - GEMAAKT - als de map/het element naar een niet-bestaand doel is gekopieerd.
- 204 - GEEN INHOUD - als de map of het middel naar een bestaande bestemming is gekopieerd.
- 412 - PRECONDITION MISLUKT - als een aanvraagkoptekst ontbreekt.
- 500 - INTERNE SERVERFOUT - als iets anders fout gaat.
Een map of element verplaatsen
Hiermee verplaatst u een map of element op het opgegeven pad naar een nieuwe bestemming.
Kopballen van het Verzoek: De parameters zijn:
X-Destination
- een nieuwe doel-URI binnen het bereik van de API-oplossing waarnaar de bron moet worden gekopieerd.X-Depth
- ofwelinfinity
of0
. Wanneer u0
gebruikt, worden alleen de bron en de eigenschappen ervan gekopieerd en niet de onderliggende elementen.X-Overwrite
- GebruikT
om bestaande bronnen te verwijderen ofF
om te voorkomen dat een bestaande bron wordt overschreven.
Verzoek: MOVE /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-moved"
de codes van de Reactie: De antwoordcodes zijn:
- 201 - GEMAAKT - als de map/het element naar een niet-bestaand doel is gekopieerd.
- 204 - GEEN INHOUD - als de map of het middel naar een bestaande bestemming is gekopieerd.
- 412 - PRECONDITION MISLUKT - als een aanvraagkoptekst ontbreekt.
- 500 - INTERNE SERVERFOUT - als iets anders fout gaat.
Een map, element of uitvoering verwijderen
Hiermee verwijdert u een resource (-tree) bij het opgegeven pad.
Verzoek
DELETE /api/assets/myFolder
DELETE /api/assets/myFolder/myAsset.png
DELETE /api/assets/myFolder/myAsset.png/renditions/original
de codes van de Reactie: De antwoordcodes zijn:
- 200 - OK - als de map is verwijderd.
- 412 - VOORWAARDE MISLUKT - als de wortelinzameling niet kan worden gevonden of worden betreden.
- 500 - INTERNE SERVERFOUT - als iets anders fout gaat.
Volg de aanbevolen werkwijzen en beperkingen van notities
-
Assets en de bijbehorende uitvoeringen zijn niet meer beschikbaar via de Assets -webinterface en de HTTP-API wanneer Off Time wordt bereikt. De API retourneert een fout van 404 als de On Time in de toekomst is of als Off Time in het verleden is.
-
De Assets HTTP-API retourneert alleen een subset met metagegevens. De naamruimten zijn gecodeerd en alleen die naamruimten worden geretourneerd. Zie het elementpad
/jcr_content/metadata.json
voor volledige metagegevens. -
Sommige eigenschappen van map of element worden toegewezen aan een ander voorvoegsel wanneer ze worden bijgewerkt met behulp van API's. Het voorvoegsel
jcr
vanjcr:title
,jcr:description
enjcr:language
wordt vervangen door het voorvoegseldc
. Daarom bevattendc:title
endc:description
in de geretourneerde JSON de waarden van respectievelijkjcr:title
enjcr:description
.
Onderzoek verwante middelen