API Actions

L'API Actions fornisce endpoint per aiutarti a creare, gestire e testare l'azione.

Libreria client (Node.js)

Sebbene sia possibile utilizzare il servizio RESTful dell'API Actions tramite richieste HTTP dirette al server, forniamo una libreria client che semplifica l'accesso agli endpoint da Node.js. La libreria client dell'API Actions consente di gestire e testare l'azione utilizzando una serie di endpoint.

Ad esempio, il codice riportato di seguito effettua una chiamata all'endpoint writePreview per aggiornare l'anteprima del progetto di un utente in base al modello fornito:

   import {ActionsSdkClient} from '@assistant/actions';
   import { promisify } from 'util';
   import * as stream from 'stream';

   const PROJECT_ID = '<PROJECT_ID>';
   const VERSION = 123;

   const projectPath = `projects/${PROJECT_ID}`;
   const versionPath = `projects/${PROJECT_ID}/versions/${VERSION}`;

    async function publishPreview(projectPath, versionPath) {
      const request = {
        parent: projectPath,
        previewSettings: {sandbox: {value: true}},
        submittedVersion: {version: versionPath}
      };

      const client = new ActionsSdkClient();
      const stream = client.writePreview(()=>{});
      stream.write(request);
      stream.end();
      const finished = promisify(stream.finished);
      await finished(stream);
    }

Per le istruzioni di installazione e il materiale di riferimento per la libreria client Node.js dell'API Actions, consulta la documentazione relativa alla libreria e al riferimento REST dell'API Actions.

Requisiti

I seguenti requisiti si applicano alle richieste effettuate all'API Actions.

Dimensione payload richiesta

Le richieste effettuate all'API Actions devono avere dimensioni massime di 10 MB. Sono inclusi endpoint di streaming del client, dove ogni richiesta nel flusso deve essere di 10 MB o meno.

Se il payload supera i 10 MB, dovresti ricevere un errore 400 dalle Azioni SDK Server.

Best practice

Le seguenti best practice sono vivamente consigliate quando usi l'API Actions.

Imposta l'intestazione della richiesta x-goog-user-project

Quando crei uno strumento o un'applicazione per i tuoi utenti, potrebbe essere utile impostare fatturare e usare per i limiti di quota invece che per il progetto client. Per specificare un progetto ai fini della fatturazione e della quota, imposta il Intestazione della richiesta x-goog-user-project.

Valori validi L'ID progetto per un modello esistente Progetto Google Cloud
Esempio x-goog-user-project: my-project
Dettagli Il progetto specificato nell'intestazione viene utilizzato per i limiti di quota e fatturato per gli addebiti associati alla richiesta.

Imposta l'intestazione della richiesta dello user agent

Imposta uno user agent appropriato utilizzando l'intestazione della richiesta user-agent. Questo aiuta l'API a determinare se le richieste provengono dai partner.

Limitazioni note

Questa sezione descrive le limitazioni note dell'API Actions.

Timeout per gli endpoint di flusso del client

Questo limite si applica solo alle richieste HTTP inviate allo streaming client endpoint. Le richieste effettuate utilizzando la libreria client non vengono interessati da questa limitazione.

Se utilizzi le richieste HTTP per chiamare WritePreview, CreateVersion o WriteDraft, di implementare un timeout per gestire le richieste che non sono riuscito.

Se ricevi un'intestazione della risposta che specifica un codice di stato diverso da 200, il tuo codice dovrebbe interrompere lo streaming dopo un certo periodo di tempo. Questo problema interessa solo gli endpoint di flussi del client. Ad esempio, lo strumento gactions, che utilizza l'API Actions, ha un timeout di 5 secondi.