Richiama le API di comunicazione di AEM Forms tramite autenticazione server-to-server OAuth
Questa guida fornisce istruzioni per configurare e richiamare le API sincrone di AEM Forms Communications a cui si accede tramite Adobe Developer Console utilizzando l’autenticazione server-to-server OAuth.
Prerequisiti
Per configurare un ambiente per l’esecuzione e il test delle API di comunicazione di AEM Forms, assicurati di disporre dei seguenti elementi:
Aggiornare l’ambiente AEM as a Cloud Service
- AEM versione 2024.10.18459.20241031T210302Z o successiva
- Aggiornare i profili di prodotto se l’ambiente è stato creato prima di novembre 2024
Accesso e autorizzazioni
Assicurati di disporre dei diritti di accesso e delle autorizzazioni necessari prima di iniziare a configurare le API di comunicazione.
Autorizzazioni utente e ruolo
- Ruolo Sviluppatore assegnato in Adobe Admin Console
- Autorizzazione per la creazione di progetti in Adobe Developer Console
Accesso archivio Git
- Accesso all’archivio Git di Cloud Manager
- Credenziali Git per la clonazione e il push delle modifiche
Generare token di accesso utilizzando Adobe Developer Console (ADC)
- Genera il token di accesso tramite Adobe Developer Console utilizzando l’autenticazione server-to-server OAuth.
- Recuperare l’ID client da Adobe Developer Console
Strumenti di sviluppo
- Node.js per eseguire applicazioni di esempio
- Versione più recente di Git
- Accesso a Terminal/Riga di comando
- Editor di testo o IDE per la modifica dei file di configurazione (codice VS, IntelliJ, ecc.)
- Postman o strumento simile per test API
Configurare le API sincrone di AEM Forms Communications
Le API di comunicazione di AEM Forms sono accessibili tramite Adobe Developer Console utilizzando l’autenticazione server-to-server OAuth.
Segui i passaggi che spiegano come configurare le API sincrone di Forms Communication per generare PDF utilizzando il modello e il file XDP:
Passaggio 1: accedere all’ambiente AEM Cloud Service e all’endpoint AEM Forms
Accedi ai dettagli dell’ambiente AEM Cloud Service per ottenere gli URL e gli identificatori necessari per la configurazione API.
1.1 Accesso ad Adobe Cloud Manager
- Passa a my.cloudmanager.adobe.com
- Accedi con il tuo Adobe ID
1.2 Panoramica del programma
Seleziona il programma dall’elenco. Sei stato reindirizzato alla pagina Panoramica del programma
1.3 Accedere e visualizzare l’ambiente AEM Cloud Service
Puoi visualizzare o accedere ai dettagli dell’ambiente AEM Cloud Service utilizzando una delle due opzioni seguenti:
-
Nella pagina Panoramica del programma
-
Fare clic su "Ambienti" nel menu a sinistra. Puoi visualizzare un elenco di tutti gli ambienti
-
Fai clic sul nome dell’ambiente specifico per visualizzare i dettagli
-
Nella pagina Panoramica del programma
-
Individua la sezione Ambienti
-
Fai clic su "Mostra tutto" per visualizzare tutti gli ambienti
-
Fai clic sul menu puntini di sospensione (…) accanto all'ambiente
-
Selezionare "Visualizza dettagli"
1.4. Trovare l’endpoint di AEM Forms
Dalla pagina dei dettagli Ambiente, prendi nota dell'istanza dell'URL di AEM.
Passaggio 2: clonare l’archivio Git
Clona l’archivio Git di Cloud Manager per gestire i file di configurazione API.
2.1 Individuare la sezione dell’archivio
-
Nella pagina Panoramica del programma, fai clic sulla scheda Archivi
-
Individua il nome dell’archivio e fai clic sul menu con i puntini di sospensione (…)
-
Copia l’URL dell’archivio
https://git.cloudmanager.adobe.com/<org>/<program>/2.2 Clonare Utilizzando Il Comando Git
-
Apri il prompt dei comandi o il terminale
-
Eseguire il comando
git cloneper clonare l'archivio Git.code language-bash git clone [repository-url]
Ad esempio, per clonare l’archivio Git, esegui il seguente comando:
https://git.cloudmanager.adobe.com/formsinternal01/AEMFormsInternal-ReleaseSanity-pXXX-ukYYYY/
Per ulteriori informazioni su come integrare Adobe Cloud Manager e Adobe Cloud Manager, consulta Documentazione sull'integrazione Git.
Passaggio 3: configurazione del progetto Adobe Developer Console
3.1 Accesso a Adobe Developer Console
- Passa a Adobe Developer Console
- Accedi con il tuo Adobe ID
- Crea un nuovo progetto o accedi al progetto esistente
-
Dalla sezione Guida rapida, fai clic su Crea nuovo progetto
-
Viene creato un nuovo progetto con un nome predefinito
-
Fai clic su Modifica progetto nell'angolo superiore destro
-
Fornisci un nome significativo (ad esempio, "formsproject")
-
Fai clic su Salva
-
Fai clic su Tutti i progetti da Adobe Developer Console
-
Individua il progetto e fai clic su per aprirlo.
3.2 Aggiungere API di comunicazione Forms
-
Fai clic su Aggiungi API
-
Nella finestra di dialogo Aggiungi API, filtra per Experience Cloud
-
Seleziona "API di comunicazione Forms"
-
Fai clic su Avanti
-
Seleziona il metodo di autenticazione da server a server OAuth
-
Fai clic su Avanti
3.3 Aggiungere un profilo di prodotto
-
Seleziona il profilo prodotto che corrisponde all'URL dell'istanza di AEM (
https://Service Type -Environment Type-Program XXX-Environment XXX.adobeaemcloud.com). -
Fai clic su Salva API configurata. L’API e il profilo di prodotto vengono aggiunti al progetto
-
Visualizza la sezione Dettagli credenziali
Registra credenziali API
API Credentials:
================
Client ID: <your_client_id>
Client Secret: <your_client_secret>
Technical Account ID: <tech_account_id>
Organization ID: <org_id>
Scopes: AdobeID,openid,read_organizations
3.4 Generare l’accesso
Generare manualmente i token di accesso in Adobe Developer Console:
-
Fai clic sul pulsante "Genera token di accesso" nella sezione API del progetto
-
Copia il token di accesso generato
| note note |
|---|
| NOTE |
| Il token di accesso è valido solo per 24 ore |
Genera i token a livello di programmazione utilizzando l'API Adobe IMS:
Credenziali richieste:
- ID client
- Segreto client
- Ambiti (in genere:
openid, AdobeID, read_organizations, additional_info.projectedProductContext, read_pc.dma_aem_cloud, aem.document)
Endpoint token:
| code language-none |
|---|
|
Richiesta di esempio (curl):
| code language-bash |
|---|
|
Risposta:
| code language-json |
|---|
|
Ora puoi utilizzare il token di accesso generato per effettuare chiamate API per ambienti di sviluppo, stage o produzione.
Passaggio 4: registrare l’ID client nell’ambiente AEM
Per abilitare l’ID client del progetto ADC per comunicare con l’istanza di AEM, devi registrarlo utilizzando un file di configurazione YAML e distribuirlo tramite una pipeline di configurazione.
4.1 Individuare o creare la directory di configurazione
-
Passare all'archivio progetti AEM clonato e individuare la cartella
config -
Se non esiste, creala a livello di directory principale del progetto:
code language-bash mkdir config -
Creare un nuovo file denominato
api.yamlnella directoryconfig:code language-bash touch config/api.yaml -
Aggiungi il seguente codice nel file
api.yaml:code language-yaml kind: "API" version: "1" metadata: envTypes: ["dev"] # or ["prod", "stage"] for production environments data: allowedClientIDs: author: - "<your_client_id>" publish: - "<your_client_id>" preview: - "<your_client_id>"
Di seguito vengono illustrati i parametri di configurazione:
-
tipo: sempre impostato su
"API"(identifica questa come configurazione API) -
versione: versione API, in genere
"1"o"1.0" -
envTypes: Array di tipi di ambiente in cui si applica questa configurazione
["dev"]- Solo ambienti di sviluppo["stage"]- Solo ambienti di staging["prod"]- Solo ambienti di produzione
-
allowedClientIDs: gli ID client possono accedere alla tua istanza di AEM
- author: ID client per il livello di authoring
- publish: ID client per il livello di pubblicazione
- anteprima: ID client per il livello di anteprima
4.2 Commit e modifiche push
-
Passa alla cartella principale dell’archivio clonato ed esegui i seguenti comandi:
code language-bash git add config/api.yaml git commit -m "Whitelist client id for api invocation" git push origin <your-branch>
Passaggio 5: configurare la pipeline di configurazione
5.1 Accedere ad Adobe Cloud Manager
- Passa a my.cloudmanager.adobe.com
- Accedi con il tuo Adobe ID
5.1 Individuare la scheda Pipeline
-
Individua la scheda Pipeline nella pagina Panoramica del programma
-
Fare clic sul pulsante "Aggiungi"
5.2 Seleziona tipo di pipeline
-
Per Gli Ambienti Di Sviluppo: Selezionare "Aggiungi Pipeline Non Di Produzione". Le pipeline non di produzione sono per ambienti di sviluppo e stage
-
Per Gli Ambienti Di Produzione: Selezionare "Aggiungi Pipeline Di Produzione". Le pipeline di produzione richiedono approvazioni aggiuntive
1. Configura pipeline - Scheda Configurazione
Nella scheda Configurazione:
a. Tipo di pipeline
- Seleziona "Pipeline di distribuzione"
b. Nome pipeline
- Specifica un nome descrittivo. Ad esempio, assegna alla pipeline il nome
api-config-pipieline
c. Trigger distribuzione
- Manuale: distribuisci solo quando attivato manualmente (consigliato per la configurazione iniziale)
- Su modifiche Git: distribuzione automatica quando le modifiche vengono inviate al ramo
d. Comportamento in caso di errori di metriche importanti
- Chiedi ogni volta: richiede un'azione in caso di errori (impostazione predefinita)
- Genera errore immediatamente: genera automaticamente un errore di pipeline in caso di errori di metrica
- Continua immediatamente: continua nonostante gli errori
e. Fare clic su "Continua" per passare alla scheda Codice Source
2. Configura pipeline - Scheda Codice Source
Nella scheda Codice Source:
a. Tipo di distribuzione
- Seleziona "Distribuzione di destinazione"
b. Opzioni di distribuzione
- Selezionare "Config" (distribuire solo i file di configurazione). Indica a Cloud Manager che si tratta di una distribuzione di configurazione.
c. Seleziona ambiente di distribuzione idoneo
- Scegli l’ambiente in cui distribuire la configurazione. In questo caso, si tratta di un ambiente
dev.
d. Definisci dettagli codice Source
- Archivio: selezionare l'archivio contenente il file
api.yaml. Selezionare ad esempio l'archivioAEMFormsInternal-ReleaseSanity-pXXXXX-ukYYYYY. - Ramo Git: seleziona il ramo. Ad esempio, in questo caso il nostro codice viene distribuito nel ramo
main. - Posizione codice: immettere il percorso della directory
config. Poichéapi.yamlsi trova nella cartella principaleconfig, immettere/config
e. Fare clic su "Salva" per creare la pipeline
Passaggio 6: distribuire la configurazione
Una volta creata la pipeline, distribuire la configurazione api.yaml
6.1 Dalla panoramica delle pipeline
- Nella pagina Panoramica del programma, individua la scheda Pipeline
- Passa alla nuova pipeline di configurazione creata nell’elenco. Ad esempio, cerca il nome della pipeline creata (ad esempio, "api-config-pipeline"). Puoi visualizzare i dettagli della pipeline, compreso lo stato e l’ultima esecuzione.
6.2 Avviare l’implementazione**
- Fai clic sul pulsante "Build" (o sull'icona di riproduzione ▶) accanto alla pipeline
- Conferma la distribuzione se richiesto e l’esecuzione della pipeline inizia
6.3 Verifica della corretta implementazione
-
Attendi il completamento della pipeline.
-
Se l'operazione ha esito positivo, lo stato diventa "Completato" (segno di spunta verde ✓).
-
In caso contrario, lo stato diventa "Non riuscito" (croce rossa ✗). Fai clic su Scarica registri per visualizzare i dettagli dell'errore.
-
Ora puoi iniziare a testare le API di comunicazione di Forms. A scopo di test, puoi utilizzare Postman, curl o qualsiasi altro client REST per richiamare le API.
Passaggio 7: specifiche e test delle API
Ora che l’ambiente è configurato, puoi iniziare a testare le API di comunicazione di AEM Forms utilizzando l’interfaccia utente di Swagger o a livello di programmazione sviluppando l’applicazione NodeJS.
L'interfaccia utente Swagger fornisce un'interfaccia interattiva per testare le API senza scrivere codice.Utilizzare la funzionalità Prova per richiamare e testare l'API di comunicazione Forms genera PDF.
-
Passa a Riferimento API di comunicazione Forms e apri la documentazione API di comunicazione Forms nel browser.
-
Espandere la sezione Generazione documento e selezionare Genera un modulo PDF compilabile da un modello XDP o PDF, facoltativamente con unione dati.
-
Nel riquadro destro fare clic su Prova.
-
Immetti i seguenti valori:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 Sezione Parametro Valore bucket istanza AEM Nome dell'istanza di AEM senza il nome di dominio di Adobe ( .adobeaemcloud.com). Utilizzare ad esempiopXXXXX-eYYYYYcome bucket.Protezione Token Bearer Utilizza il token di accesso dalle credenziali server-to-server OAuth di Adobe Developer Console Project Corpo testo Modello Carica un XDP per generare il modulo PDF. Ad esempio, puoi utilizzare questo XDP per generare un PDF. Corpo testo dati File XML facoltativo contenente i dati da unire al modello per generare un modulo PDF precompilato. È ad esempio possibile utilizzare questo XML per generare un PDF. Parametri X-Adobe-Accept-Experimental 1 -
Fai clic su Invia per richiamare l'API
-
Controlla la risposta nella scheda Risposta:
- Se il codice di risposta è
200, significa che il PDF è stato creato correttamente. - Se il codice di risposta è
400, significa che i parametri di richiesta non sono validi o non sono corretti. - Se il codice di risposta è
500, significa che si è verificato un errore interno del server. - Se il codice di risposta è
403, significa che si è verificato un errore di autorizzazione.
In questo caso, il codice di risposta è
200, significa che il PDF è stato generato correttamente:
Ora puoi scaricare il PDF creato utilizzando il pulsante Scarica e visualizzarlo nel visualizzatore PDF:
note note NOTE A scopo di test, puoi anche utilizzare Postman, curl o qualsiasi altro client REST per richiamare le API di AEM. - Se il codice di risposta è
Sviluppa un'applicazione Node.js per generare un modulo PDF compilabile da un modello XDP e un file di dati XML utilizzando l'API Document Services
Prerequisiti
- Node.js installato nel sistema
- Istanza AEM as a Cloud Service attiva
- Token Bearer per l’autenticazione API da Adobe Developer Console
- File XDP di esempio: ClosingForm.xdp
- File XML di esempio: ClosingForm.xml
Per sviluppare l’applicazione Node.js, segui lo sviluppo passo passo:
Passaggio 1: creare un nuovo progetto Node.js
Apri il comando/terminale ed esegui i seguenti comandi:
| code language-bash |
|---|
|
Passaggio 2: Installare Le Dipendenze Richieste
Installa le librerie node-fetch, dotenv e form-data per effettuare richieste HTTP, leggere le variabili di ambiente e gestire rispettivamente i dati del modulo.
| code language-bash |
|---|
|
Passaggio 3: aggiornare package.json
-
Apri il comando/terminale ed esegui il comando:
code language-bash code .
Apre il progetto nell’editor di codice.
-
Aggiornare il file
package.jsonper aggiungeretypeamodule.code language-bash { "name": "demo-nodejs-generate-pdf", "version": "1.0.0", "type": "module", "main": "index.js", }
Passaggio 4: creare un file .env
-
Creare un file .env a livello di directory principale di un progetto
-
Aggiungi la seguente configurazione e sostituisci i segnaposto con i valori effettivi delle credenziali server-to-server OAuth del progetto ADC.
code language-bash CLIENT_ID=<ADC Project OAuth Server-to-Server credential ClientID> CLIENT_SECRET=<ADC Project OAuth Server-to-Server credential Client Secret> SCOPES=<ADC Project OAuth Server-to-Server credential Scopes>
note note NOTE È possibile copiare CLIENT_ID,CLIENT_SECRETeSCOPESdal progetto Adobe Developer Console.
Passaggio 5: creare src/index.js
- Crea il file
index.jsa livello di directory principale del progetto - Aggiungi il seguente codice e sostituisci i segnaposto con i valori effettivi:
| code language-javascript |
|---|
|
Passaggio 6: eseguire l'applicazione
| code language-bash |
|---|
|
PDF creato nella cartella demo-nodejs-generate-pdf. Passare alla cartella per trovare il file generato denominato generatedForm.pdf.
Puoi aprire il PDF generato per visualizzarlo.
Risoluzione di problemi
Problemi comuni e possibili cause
Problema 1: errore 403 non consentito
Sintomi:
- Le richieste API restituiscono
403 Forbidden - Messaggio di errore: Accesso non autorizzato
Possibile causa:
- ID client non registrato nella configurazione
api.yamldell'istanza AEM
Problema 2: errore 401 non autorizzato
Sintomi:
- Le richieste API restituiscono
401 Unauthorized - Messaggio di errore: Token non valido o scaduto
Cause possibili:
- Token di accesso scaduto (valido solo per 24 ore)
- ID client e segreto client non corretti o non corrispondenti
Problema 3: errore 404 non trovato
Sintomi:
- Le richieste API restituiscono
404 Not Found - Messaggio di errore: Risorsa non trovata o Endpoint API non trovato
Possibile causa:
- Parametro bucket errato (non corrisponde all’identificatore dell’istanza di AEM)
Problema 4: distribuzione della pipeline non riuscita
Sintomi:
- L’esecuzione della pipeline di configurazione non riesce
- I registri di distribuzione mostrano gli errori relativi a
api.yaml
Cause possibili:
- Sintassi YAML non valida (problemi di rientro, virgolette o formato di matrice)
api.yamlinserito in una directory non corretta- ID client errato o non corretto nella configurazione
- Segreto client non valido
Problema 5: mancata esecuzione delle API di comunicazione di Forms
Sintomi:
- Le richieste API restituiscono errori che indicano funzioni non supportate o non disponibili.
- La generazione di PDF tramite XDP e XML non funziona.
- L’implementazione della pipeline viene completata correttamente, ma le chiamate API di runtime non riescono.
Possibile causa:
Nell’ambiente AEM è in esecuzione una versione rilasciata prima dell’introduzione o del supporto delle API di comunicazione Forms.
Per aggiornare l'ambiente AEM, fare riferimento alla sezione Aggiorna istanza AEM.
Aggiorna istanza AEM
Per aggiornare l’istanza di AEM per individuare i dettagli dell’ambiente:
-
Seleziona l'icona
ellipsis(…) accanto al nome dell'ambiente e fai clic su Aggiorna -
Fai clic sul pulsante Invia ed esegui la pipeline full stack suggerita.