Vereisten

Vereiste kennis

  • Kennis van AEM Mobile
  • Kennis van het maken en publiceren van inhoud via de standaard on-demandportal

Vereiste producten

  • AEM Mobile

Inleiding

Met de On-Demand Services API's van Adobe Experience Manager kan een externe ontwikkelaar integratie met de on-demandservices instellen. Met deze services kunt u:

  • Artikelen beheren
  • Collecties beheren
  • Producten beheren
  • Pushmeldingen beheren

De On-Demand Services API's (voorheen “Content Producer Service API's”) zijn dezelfde API's die door de on-demandportal worden gebruikt (https://aemmobile.adobe.com).

Content Producer Server API's van Adobe Digital Publishing Solution

Integratie met AEM-ontwerp

U kunt AEM gebruiken om inhoud voor AEM Mobile-apps te maken. Neem contact op met uw vertegenwoordiger van Adobe voor meer informatie.

Integraties van derden

Voor de volgende redactionele workflowsystemen, CMS-systemen en webgebaseerde ontwerpoplossingen zijn integraties beschikbaar (van Adobe-partners):

CMS-systemen

Webgebaseerde ontwerpoplossingen
Workflowsystemen

Zelfstudievideo voor CMS

Integreren met CMS: Drupal en WordPress

Overzichtsvideo voor integratie

Klaasjan Tukker en Mike Yang gaven deze (Engelstalige) presentatie over geavanceerde workflowmogelijkheden op de MAX 2015-conferentie:

Advanced Workflow Possibilities with the Adobe APIs (Geavanceerde workflowmogelijkheden met de API's van Adobe) (1:25:57)

Downloads

Download de hieronder vermelde bestanden om aan de slag te gaan met de On-Demand Services API.

Opmerking:

Door de onderstaande software te downloaden, geef ik aan dat de voorwaarden van de API's voor AEM Mobile Services-licentie, de gebruiksvoorwaarden voor Adobe.com en het onlineprivacybeleid van Adobe heb gelezen en dat ik hiermee akkoord ga.

Downloaden

Dit zip-bestand bevat de volgende items:

  • API-documentatie
  • Definities van JSON-schema
  • Codevoorbeelden
  • InDesign-scriptvoorbeelden
  • Aanvraagformulier voor API-sleutel

 

De API-documentatie gebruiken

U kunt de API-documentatie (gemaakt met Swagger) weergeven door de bestanden in een map op uw webserver (bijvoorbeeld MAMP) uit te pakken.

Als de gehoste URL naar de documentatie van Swagger http://localhost:8888/aemmobile-swagger is, kunt u de volgende stap overslaan.

Open het bestand “service.json” en pas regel 55 aan om basePath in te stellen op een host+pad waar de documentatie kan worden geopend. Bijvoorbeeld:

#53     “contact”: “wwds@adobe.com”
#54   },
#55   “basePath”: “http://localhost:8888/your-custom-path”
#56 }

Open uw webbrowser en blader naar de locatie waar u de documentatie hebt uitgepakt. De On-Demand Services API moet nu zichtbaar zijn.

 

Uw project, rollen en gebruikers instellen

Stel een project in, maak rollen en geef toegang aan gebruikers. Zie de volgende Help-artikelen voor meer informatie:

Het is verstandig om niet dezelfde Adobe ID te gebruiken als de Adobe ID waaraan de beheerdersrechten 'Hoofdaccount' of 'Volledig project' zijn toegewezen. Maak een Adobe ID waarmee alleen toegang kan worden verkregen tot de bewerkingen die u wilt toestaan via de On-Demand Services API.

Opmerking:

als u de onderstaande voorbeelden wilt uitvoeren, moet u met een nieuw project beginnen.

API-sleutels

Als u toegang wilt tot de On-Demand Services API en als u wilt integreren met systemen van derden, hebt u een API-sleutel nodig.

Een API-sleutel aanvragen

Voor toegang tot de On-Demand Services API moet u een API-sleutel aanvragen. Vul het PDF-formulier in als u de API-sleutel wilt aanvragen. Stuur het ingevulde formulier naar Adobe Developer Support: wwds@adobe.com

Downloaden

Zie Gebruik van sleutels voor de AEM Mobile API voor meer informatie over wanneer u een API-sleutel nodig hebt of wanneer u een bestaande API-sleutel moet gebruiken.

device_id en device_token genereren

Nadat u uw API-sleutel hebt ontvangen, kunt u device_id en device_token genereren. Ga naar https://aex.aemmobile.adobe.com en voer de volgende handelingen uit:

  • Geef de API-sleutel op
  • Meld u aan met de Adobe ID die u op de lijst met toegestane id's hebt laten plaatsen (via het aanvraagformulier)

Als aan alle voorwaarden is voldaan, worden device_id en device_token gegenereerd.

De voorbeeldbestanden gebruiken

Pak de voorbeelden uit en wijzig de standaardwaarden zodat uw account en API-sleutels worden gebruikt. Zorg ervoor dat u een nieuw project in de on-demandportal hebt gemaakt en een functie hebt toegewezen aan de Adobe ID die wordt gebruikt voor communicatie in de API-voorbeelden.

Wijzigen:

  • config/credentials.php

Wijzig de waarden voor “client_id” (uw API-sleutel), “client_secret”, “device_token”, “device_id” (van de AEX-service) of voeg deze waarden toe.

Stel de waarde in voor “client_version”; hiermee kan de waarde die is ingesteld voor “system” in de communicatie met de On-Demand Services API worden herkend. Bijvoorbeeld 'aemmobile-learn-api-doc-1.0'

Uitvoeren:

  • demo/01_get_access_token.php

Als de waarde juist is ingesteld, zou u “access_token” als resultaat moeten krijgen. Gebruik dit access_token in de telefonische opvolgingsgesprekken.

Wijzigen:

  • config/credentials.php

Voeg de waarde voor “access_token” toe.

Uitvoeren:

  • demo/02_get_user_permissions.php

Als de waarde juist is ingesteld, zou u een lijst moeten krijgen met projecten waartoe de Adobe ID (waarvoor device_id/device_token zijn gegenereerd) toegang heeft.

Selecteer het project waarmee u wilt werken. (Dit kan een nieuw, onlangs gemaakt project zijn.) De projectidentificatie is een GUID, zoals “8dbeb5da-ca73-d0da-b0b0-885fb83e7ae8”.

Wijzigen:

  • Config/parameters.php

Werk “publication_id” bij met de project-id die u hierboven hebt verkregen.

Uitvoeren:

  • demo/03_update_home_collection.php

Als de configuratie correct is, krijgt de collectie op het hoogste niveau een publiceerbare status: miniatuur- of achtergrondafbeelding uploaden, de product-id instellen en de standaardlay-out koppelen.

Wijzigen:

  • config/parameters.php

Als het doelproject twee collecties op het hoogste niveau bevat, moet u de waarde van “collection_home_name” bijwerken van “topLevelContent” naar “topLevelTabletContent” voor tablets (of “topLevelPhoneContent” voor telefoons).

U bent nu klaar om de rest van de voorbeelden uit te voeren. Zorg dat u in een browser de sectie “Inhoud en lay-outs” van de on-demandportal voor uw projecten geopend hebt als u de voorbeelden uitvoert. U kunt live in de browser zien dat de wijzigingen worden doorgevoerd terwijl u de voorbeelden uitvoert.

 

Artikelen maken

De inhoud van de artikelen kan met HTML of met InDesign worden gemaakt.

HTML-artikelen

Voor artikelen die met HTML zijn gemaakt, kunt u CSS/JS gebruiken om de inhoud een visuele stijl te geven en proactief te maken. Alle HTML-inhoud moet zich in dezelfde map bevinden (submappen zijn toegestaan). De HTML-bestanden worden in combinatie met een manifest.xml-bestand in een zip-bestand opgenomen. In het manifest-bestand staat welke artikelen deel uitmaken van het pakket met artikelen. Dit bestand bevat tevens het MD5-controlebestand. (Zie HTML-artikelen maken voor AEM Mobile.)

Als u de artikelbestanden in een map wilt genereren, kunt u het bureaubladhulpmiddel of de voorbeeld-packager in 'class/manifest.php' gebruiken.

InDesign-artikelen

U kunt Adobe InDesign CS6 of hoger gebruiken om artikelbestanden met een vaste lay-out te maken. Met de Digital Publishing-plug-in kunt u InDesign-inhoud naar een artikelbestand exporteren. (Zie AEM Mobile-artikelen maken in InDesign.)

Gebruik de functie “exportDpsArticle” om het exportproces in een script vast te leggen. Zie Artikelen op basis van InDesign maken met scripts voor meer informatie.

Vragen en ondersteuning

U kunt op het API-/integratieforum terecht voor vragen over dit artikel of het gebruik van de On-Demand Services API's. Neem contact op met Adobe Developer Support (wwds@adobe.com als u persoonlijke ondersteuning nodig hebt).

Wijzigingenlogboek

20 juni 2017

Bijgewerkte documentatie:

  • Typefout in de beschrijving gecorrigeerd.

7 februari 2017

Bijgewerkte documentatie:

  • Ondersteuning voor dynamische gedeelde inhoud toegevoegd aan Producer Services.

Bijgewerkt JSON-schema:

  • Nieuw JSON-schema voor dynamische gedeelde inhoud toegevoegd.

API-voorbeelden:

  • Ondersteuning voor dynamische gedeelde inhoud toegevoegd.

1 november 2016

Bijgewerkte documentatie:

  • Batchretournering van entiteitsstatus toegevoegd.
  • Ondersteuning voor dynamische banner toegevoegd aan Producer Service en Ingestion Service.
  • Ondersteuning voor Android-pushmeldingen via de Notification Service API toegevoegd
  • Mogelijkheid toegevoegd om de lijst met inhoudselementen van een collectie bij te werken in een opgegeven index.

Bijgewerkt JSON-schema:

  • Nieuw JSON-schema voor dynamische banner toegevoegd

Bijgewerkte API-voorbeelden:

  • Collection::updateContentElements() wordt bijgewerkt om te controleren of de entiteit al bestaat voordat de entiteit wordt toegevoegd aan de lijst met inhoudselementen van de collectie
  • Ondersteuning voor dynamische banner toegevoegd
  • Dynamische banner toegevoegd aan de demoscripts (nrs. 13-15)

12 juli 2016

Bijgewerkte documentatie:

  • Het product en de productbundel zijn bijgewerkt

30 juni 2016

Bijgewerkte documentatie:

  • Informatie toegevoegd over het uploaden van PDF's voor Ingestion Service

JSON-schema bijgewerkt: 12 juli 2016

Bijgewerkte documentatie:

  • Extra metagegevensvelden toegevoegd:
    • contentSize
    • availabilityDate (alleen product en productbundel)
    • availabilityDateTimezone (alleen product en productbundel)

Bijgewerkte API-voorbeelden:

  • Demo: #05e werk PDF-bestand bij naar artikel één
  • Demo: #05f werk PDF-bestand bij naar artikel één en stel horizontaal vegen in
  • Demo: #05g controleer innamestatus voor artikel één
  • Overgeschakeld naar gebruik van autoloader om de benodigde klassen per PHP-script te laden

10 mei 2016

Bijgewerkte documentatie:

  • Innameservice accepteert nu de header: application/pdf
  • Volg de status van een bekende taak voor publiceren/publicatie ongedaan maken en van preflighttaken
    • POST /job retourneert de workflow-id voor deze taak
    • GET /status/{publicationID}/publication/00000000-0000-0000-0000-000000000000 retourneert de huidige workflow-id (indien beschikbaar)
    • Vergelijk de huidige workflow-id (indien beschikbaar) met de laatste bekende workflow-id
      • indien de huidige workflow-id === de laatste bekende workflow-id is, dan wordt de laatste taak nog uitgevoerd
      • Indien huidige workflow-id !== laatste bekende workflow-id, dan is de laatste taak voltooid en wordt er een andere taak uitgevoerd
      • indien de huidige workflow-id leeg is, dan is de laatste taak voltooid en worden er geen andere taken uitgevoerd

Bijgewerkte API-voorbeelden:

  • Demo: #05d controleer de grootte van het momenteel geüploade inhoudsbestand
  • Demo: #08c volg de laatste bekende workflowstatus

Dit werk is gelicentieerd onder de Creative Commons Naamsvermelding/Niet-commercieel/Gelijk delen 3.0 Unported-licentie  De voorwaarden van Creative Commons zijn niet van toepassing op Twitter™- en Facebook-berichten.

Juridische kennisgevingen   |   Online privacybeleid