Elaborazione delle API sincrone di AEM Forms as a Cloud Service Communications

Questa guida fornisce istruzioni complete per la configurazione e l’utilizzo delle API sincrone di AEM Forms Communications.

Scopri come configurare l’ambiente AEM as a Cloud Service, abilitare l’accesso API e richiamare le API di comunicazione 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:

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

  • Adobe ID creato in https://account.adobe.com/
  • Adobe ID associato all’e-mail della tua organizzazione
  • Contesto del prodotto Adobe Managed Services assegnato
  • Ruolo Sviluppatore assegnato in Adobe Admin Console
  • Autorizzazione per la creazione di progetti in Adobe Developer Console
NOTE
Per ulteriori informazioni sull'assegnazione di ruoli e sulla concessione dell'accesso agli utenti, vedere l'articolo Aggiungere utenti e ruoli.

Accesso a Cloud Manager

  • Credenziali di accesso per Cloud Manager
  • Accesso per visualizzare e gestire gli ambienti del programma
  • Autorizzazione per creare ed eseguire pipeline CI/CD
  • Accesso ai dettagli e alla configurazione dell’ambiente

Accesso archivio Git

  • Accesso all’archivio Git di Cloud Manager
  • Credenziali Git per la clonazione e il push delle modifiche

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
NOTE
Si tratta di un processo una tantum per ambiente che deve essere completato prima di procedere con la configurazione delle API di AEM Forms Communications.

Ora cerchiamo di capire ogni passo nel dettaglio.

Passaggio 1: aggiornare l’istanza di AEM

Per aggiornare l’istanza di AEM:

  1. Accedi ad Adobe Cloud Manager

    1. Passa a my.cloudmanager.adobe.com
    2. Accedi con il tuo Adobe ID
  2. Passa alla panoramica del programma

    1. Seleziona il programma dall’elenco. Viene visualizzata la pagina Panoramica del programma
  3. Individua dettagli ambiente

    1. Seleziona l'icona ellipsis(…) accanto al nome dell'ambiente e fai clic su Aggiorna

    2. Fai clic sul pulsante Invia ed esegui la pipeline full stack suggerita.

      Aggiorna ambiente

Passaggio 2: clonare l’archivio Git

Clona l’archivio Git di Cloud Manager per gestire i file di configurazione API.

  1. Individua la sezione dell'archivio

    1. Nella pagina Panoramica del programma, fai clic sulla scheda Archivi

    2. Individua il nome dell’archivio e fai clic sul menu con i puntini di sospensione (…)

    3. Copia l’URL dell’archivio

      note note
      NOTE
      Il formato dell'URL è in genere https://git.cloudmanager.adobe.com/<org>/<program>/
  2. Clona utilizzando il comando Git

    1. Apri il prompt dei comandi o il terminale

    2. Eseguire il comando git clone per clonare l'archivio Git.

      code language-bash
      git clone [repository-url]
      
      note note
      NOTE
      Per clonare l’archivio Git, utilizza le credenziali fornite da Adobe Cloud Manager.

      Ad esempio, per clonare l’archivio Git, esegui il seguente comando:

      code language-bash
      https://git.cloudmanager.adobe.com/formsinternal01/AEMFormsInternal-ReleaseSanity-p43162-uk59167/
      

      Clonazione dellarchivio Git

Opzioni di integrazione archivio Git

Adobe Cloud Manager supporta entrambe le opzioni dell’archivio:

  • Utilizzo diretto dell'archivio Git di Cloud Manager

    • Usa archivio Git nativo di Cloud Manager
    • Integrazione integrata con le pipeline
  • Integrazione con l'archivio Git gestito dal cliente

    • Connetti il tuo archivio Git (GitHub, GitLab, Bitbucket, ecc.)
    • Configurare la sincronizzazione con Adobe Cloud Manager

Per ulteriori informazioni su come integrare Adobe Cloud Manager e Adobe Cloud Manager, consulta Documentazione sull'integrazione Git.

Passaggio 3: 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. Accedi ad Adobe Cloud Manager

    1. Passa a my.cloudmanager.adobe.com
    2. Accedi con il tuo Adobe ID
  2. Passa alla panoramica del programma
    Seleziona il programma dall’elenco. Viene visualizzata la pagina Panoramica del programma

  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:

    • Opzione 1: dalla pagina Panoramica

      1. Nella pagina Panoramica del programma

      2. Fare clic su "Ambienti" nel menu a sinistra. Puoi visualizzare un elenco di tutti gli ambienti

        Visualizza tutti gli ambienti

      3. Fai clic sul nome dell’ambiente specifico per visualizzare i dettagli

        Opzione1-Dettagli ambiente

    • Opzione 2: dalla sezione Ambienti

      1. Nella pagina Panoramica del programma

      2. Individua la sezione Ambienti

      3. Fai clic su "Mostra tutto" per visualizzare tutti gli ambienti

      4. Fai clic sul menu puntini di sospensione (…) accanto all'ambiente
        Opzione1-Dettagli ambiente

      5. Selezionare "Visualizza dettagli"

        Opzione1-Dettagli ambiente

  4. Trova Il Tuo Endpoint AEM Forms

    Nella pagina dei dettagli Ambiente, prendere nota dei dettagli seguenti:

    URL servizio Author

    • URL: https://author-pXXXXX-eYYYYY.adobeaemcloud.com
    • Bucket: author-pXXXXX-eYYYY
      Esempio: https://author-p43162-e177398.adobeaemcloud.com

    URL servizio di pubblicazione

    • URL: https://publish-pXXXXX-eYYYYY.adobeaemcloud.com
    • Bucket: publish-pXXXXX-eYYYY
      Esempio: https://publish-author-p43162-e177398.adobeaemcloud.com
NOTE
Per informazioni su come accedere all'ambiente AEM Cloud Service e all'endpoint AEM Forms, consulta Gestione della documentazione degli ambienti.

Passaggio 4: configurazione dell’accesso API

Per configurare le API di AEM Forms Communications, effettua le seguenti operazioni:

4.1 Configurazione del progetto Adobe Developer Console

  1. Accedi a Adobe Developer Console

    1. Passa a Adobe Developer Console
    2. Accedi con il tuo Adobe ID
  2. Crea nuovo progetto

    1. Dalla sezione Guida rapida, fai clic su Crea nuovo progetto

    2. Viene creato un nuovo progetto con un nome predefinito

      Crea progetto ADC

    3. Fai clic su Modifica progetto nell'angolo superiore destro

      Modifica progetto

    4. Fornisci un nome significativo (ad esempio, "formsproject")

    5. Fai clic su Salva

      Modifica nome progetto

4.2 Aggiungere API di comunicazione Forms

Puoi aggiungere diverse API di comunicazione di AEM Forms a seconda dei requisiti.

A. Per le API di Document Services

  1. Fai clic su Aggiungi API

    Aggiungi API

  2. Seleziona API di comunicazione Forms

    1. Nella finestra di dialogo Aggiungi API, filtra per Experience Cloud
    2. Seleziona "API di comunicazione Forms"

    Aggiungi API di comunicazione Forms

  3. Seleziona il metodo di autenticazione da server a server OAuth

    Seleziona metodo di autenticazione

B. Per le API di Forms Runtime

  1. Fai clic su Aggiungi API

    • Nel progetto, fai clic sul pulsante Aggiungi API

    Aggiungi API

  2. Seleziona l'API di AEM Forms Delivery e Runtime

    • Nella finestra di dialogo Aggiungi API, filtra per Experience Cloud
    • Seleziona "AEM Forms Delivery and Runtime API"
    • Fai clic su Avanti

    Aggiungi API runtime

  3. Metodo di autenticazione

    • Selezionare il metodo di autenticazione da server a server OAuth.

    Seleziona metodo di autenticazione

4.3 Aggiungi profilo prodotto

Per aggiungere il profilo di prodotto, segui la procedura riportata di seguito:

  1. Seleziona il profilo prodotto appropriato in base al livello di accesso richiesto:

    table 0-row-2 1-row-2 2-row-2 3-row-2
    Tipo di accesso Profilo prodotto
    Accesso in sola lettura AEM Users - author - Program XXX - Environment XXX
    Accesso in lettura/scrittura AEM Assets Collaborator Users - author - Program XXX - Environment XXX
    Accesso amministrativo completo AEM Administrators - author - Program XXX - Environment XXX
  2. Seleziona il profilo prodotto che corrisponde all'URL del servizio di authoring (https://author-pXXXXX-eYYYYY.adobeaemcloud.com). Ad esempio: selezionare https://author-pXXXXX-eYYYYY.adobeaemcloud.com.

  3. Fai clic su Salva API configurata. L’API e il profilo di prodotto vengono aggiunti al progetto

    Seleziona configurazione progetto

4.4 Generare e salvare le credenziali

  1. Accedi alle credenziali

    1. Passare al progetto in Adobe Developer Console
    2. Fai clic sulle credenziali OAuth Server-to-Server
    3. Visualizza la sezione Dettagli credenziali

    Visualizza credenziali

  2. Registra credenziali API

    code language-text
    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
    

4.5 Generazione token di accesso

A. Per test

Generare manualmente i token di accesso in Adobe Developer Console:

  1. Accedi al progetto

    1. In Adobe Developer Console, apri il progetto
    2. Fai clic su Server-to-Server OAuth
  2. Genera token di accesso

    1. Fai clic sul pulsante "Genera token di accesso" nella sezione API del progetto
    2. Copia il token di accesso generato

    Genera token di accesso

    note note
    NOTE
    Il token di accesso è valido per 24 ore

B. Per la produzione

Generare i token a livello di programmazione utilizzando l’API Adobe IMS:

Credenziali richieste:

  • ID client
  • Segreto client
  • Ambiti (in genere: AdobeID,openid,read_organizations)

Endpoint token:

https://ims-na1.adobelogin.com/ims/token/v3

Richiesta di esempio (curl):

curl -X POST 'https://ims-na1.adobelogin.com/ims/token/v3' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'grant_type=client_credentials' \
  -d 'client_id=<YOUR_CLIENT_ID>' \
  -d 'client_secret=<YOUR_CLIENT_SECRET>' \
  -d 'scope=AdobeID,openid,read_organizations'

Risposta:

{
  "access_token": "eyJhbGciOiJSUz...",
  "token_type": "bearer",
  "expires_in": 86399
}

4.6 Registrare l’ID client con l’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.

  1. Individuare o creare la directory di configurazione

    1. Passare all'archivio dei progetti AEM clonato, passare alla cartella config
    2. Se non esiste, creala a livello di directory principale del progetto:
    code language-bash
    mkdir config
    
  2. Creare un nuovo file denominato api.yaml nella directory config:

    code language-bash
    touch config/api.yaml
    
  3. 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

    Aggiungere ad esempio allowedClientIDs come 6bc4589785e246eda29a545d3ca55980 e envTypes come dev:

    Aggiunta del file di configurazione

  4. Commit e modifiche push

    1. 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>
    

    Modifiche Git push

  5. Configura pipeline

    1. Accedi a Cloud Manager

      1. Passa a my.cloudmanager.adobe.com
      2. Accedi con il tuo Adobe ID
    2. Accedi al programma
      Seleziona il programma dall’elenco e vieni reindirizzato alla pagina Panoramica del programma

    3. Individua la scheda Pipeline

      1. Individua la scheda Pipeline nella pagina Panoramica del programma
      2. Fare clic sul pulsante "Aggiungi"
    4. 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

        note note
        NOTE
        In questo caso, crea una pipeline non di produzione poiché è disponibile un ambiente di sviluppo.
    5. 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

      Pipeline di configurazione

    6. 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'archivio AEMFormsInternal-ReleaseSanity-p43162-uk59167.
      • 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.yaml si trova nella cartella principale config, immettere /config

      e. Fare clic su "Salva" per creare la pipeline

      Pipeline di configurazione

  6. Distribuisci configurazione

    Una volta creata la pipeline, distribuire la configurazione api.yaml:

    1. Dalla panoramica delle pipeline

      1. Nella pagina Panoramica del programma, individua la scheda Pipeline
      2. 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.
    2. Avvia la distribuzione

      1. Fai clic sul pulsante "Build" (o sull'icona di riproduzione ▶) accanto alla pipeline
      2. Conferma la distribuzione se richiesto e l’esecuzione della pipeline inizia

      esegui la pipeline

    3. Verifica distribuzione completata

      • 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.

          Pipeline completata

      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 5: specifiche e test delle API

Ora che il tuo ambiente è configurato, puoi iniziare a testare le API di comunicazione di AEM Forms utilizzando Interfaccia utente Swagger o a livello di programmazione sviluppando l'applicazione NodeJS.

In questo esempio generiamo un PDF utilizzando le API di Document Services utilizzando il modello e il file XDP.

A. Utilizzo dell’interfaccia utente Swagger per i test API

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 servizio documenti generate PDF.

  1. Passa alla documentazione API

  2. Espandere la sezione Generazione documento e selezionare Genera un modulo PDF compilabile da un modello XDP o PDF, facoltativamente con unione dati.

  3. Nel riquadro destro fare clic su Prova.

    Test Swagger per API

  4. 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 esempio p43162-e177398 come 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
  5. Fai clic su Invia per richiamare l'API

    Invia API

  6. 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.

    In questo caso, il codice di risposta è 200, significa che il PDF è stato generato correttamente:

    Rivedi risposta

    Ora puoi scaricare il PDF creato utilizzando il pulsante Scarica e visualizzarlo nel visualizzatore PDF:

    Visualizza PDF

NOTE
A scopo di test, puoi anche utilizzare Postman, curl o qualsiasi altro client REST per richiamare le API di AEM.

B. Programmaticamente sviluppando l’applicazione NodeJS

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:

# Create a new directory
mkdir demo-nodejs-generate-pdf
cd demo-nodejs-generate-pdf

##### Initialize Node.js project
npm init -y

Crea nuovo progetto js del nodo

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.

npm install node-fetch
npm install dotenv
npm install form-data

installa dipendenze npm

Passaggio 3: aggiornare package.json
  1. Apri il comando/terminale ed esegui il comando:

    code language-bash
    code .
    

    apri progetto nelleditor

    Apre il progetto nell’editor di codice.

  2. Aggiornare il file package.json per aggiungere type a module.

    code language-bash
    {
    "name": "demo-nodejs-generate-pdf",
    "version": "1.0.0",
    "type": "module",
    "main": "index.js",
    }
    

    aggiorna file pacchetto

Passaggio 4: creare un file .env
  1. Creare un file .env a livello di directory principale di un progetto

  2. 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>
    

    crea file di ambiente

    note note
    NOTE
    È possibile copiare CLIENT_ID, CLIENT_SECRET e SCOPES dal progetto Adobe Developer Console.
Passaggio 5: creare src/index.js
  1. Crea il file index.js a livello di directory principale del progetto
  2. Aggiungi il seguente codice e sostituisci i segnaposto con i valori effettivi:
// Import the dotenv configuration to load environment variables from the .env file
import "dotenv/config";

// Import fetch for making HTTP requests
import fetch from "node-fetch";
import fs from "fs";
import FormData from "form-data";

// REPLACE THE FOLLOWING VALUE WITH YOUR OWN
const bucket = <bucket-value>; // Your AEM Cloud Service Bucket name
const xdpFilePath = <xdp-file>;
const xmlFilePath = <xml-file>;

// Load environment variables
const clientId = process.env.CLIENT_ID;
const clientSecret = process.env.CLIENT_SECRET;
const scopes = process.env.SCOPES;

// Adobe IMS endpoint for obtaining an access token
const adobeIMSV3TokenEndpointURL = "https://ims-na1.adobelogin.com/ims/token/v3";

// Function to get an access token
const getAccessToken = async () => {
    console.log("Getting access token from IMS...");

    const options = {
        method: "POST",
        headers: {
            "Content-Type": "application/x-www-form-urlencoded",
        },
        body: `grant_type=client_credentials&client_id=${clientId}&client_secret=${clientSecret}&scope=${scopes}`,
    };

    const response = await fetch(adobeIMSV3TokenEndpointURL, options);
    const responseJSON = await response.json();

    console.log("Access token received.");
    return responseJSON.access_token;
};

// Function to generate PDF form from XDP and XML
const generatePDF = async () => {
    const accessToken = await getAccessToken();

    console.log("Generating PDF form from XDP and XML...");

    // Read XDP and XML files
    const xdpFile = fs.readFileSync(xdpFilePath);
    const xmlFile = fs.readFileSync(xmlFilePath);

    const url = `https://${bucket}.adobeaemcloud.com/adobe/document/generate/pdfform`;

    const formData = new FormData();
    formData.append("template", xdpFile, {
        filename: "form.xdp",
        contentType: "application/vnd.adobe.xdp+xml"
    });
    formData.append("data", xmlFile, {
        filename: "data.xml",
        contentType: "application/xml"
    });

    const response = await fetch(url, {
        method: "POST",
        headers: {
            Authorization: `Bearer ${accessToken}`,
            "X-Api-Key": clientId,
            "X-Adobe-Accept-Experimental": "1",
            ...formData.getHeaders()
        },
        body: formData,
    });

    if (response.ok) {
        const arrayBuffer = await response.arrayBuffer();
        fs.writeFileSync("generatedForm.pdf", Buffer.from(arrayBuffer));
        console.log("✅ PDF form generated successfully (saved as generatedForm.pdf)");
    } else {
        console.error("❌ Failed to generate PDF. Status:", response.status);
        console.error(await response.text());
    }
};

// Run the PDF generation function
generatePDF();

crea index.js

Passaggio 6: eseguire l'applicazione
node src/index.js

esegui applicazione

PDF creato nella cartella demo-nodejs-generate-pdf. Passare alla cartella per trovare il file generato denominato generatedForm.pdf.

visualizza pdf creato

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 negato o autorizzazioni insufficienti
  • Si verifica anche con un token di accesso valido

Cause possibili:

  • Autorizzazioni insufficienti nel profilo di prodotto collegato alle credenziali server-to-server OAuth
  • Il gruppo di utenti del servizio in AEM Author non dispone delle autorizzazioni necessarie per i percorsi di contenuto richiesti

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
  • Intestazioni di autenticazione mancanti o non valide nella richiesta API

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

Cause possibili:

  • ID client non registrato nella configurazione api.yaml dell'istanza AEM
  • Parametro bucket errato (non corrisponde all’identificatore dell’istanza di AEM)
  • ID risorsa (modulo o risorsa) non valido o inesistente

Problema 4: opzione di autenticazione server-to-server non disponibile

Sintomi:

  • Opzione server-to-server OAuth mancante o disabilitata in Adobe Developer Console

Possibile causa:

  • L'utente che crea l'integrazione non viene aggiunto come Sviluppatore nel profilo di prodotto associato

Problema 5: 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.yaml inserito in una directory non corretta
  • ID client errato o non corretto nella configurazione

Articoli correlati

Per informazioni su come impostare l'ambiente per Batch (API asincrone), vedere Elaborazione batch di comunicazioni AEM Forms as a Cloud Service.

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab