L'API Actions fornisce endpoint per aiutare a creare, gestire e testare l'Azione.
Libreria client (Node.js)
Anche se puoi utilizzare il servizio RESTful dell'API Actions inviando richieste HTTP dirette al server, mettiamo a disposizione 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 seguente esegue 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.
Dimensioni payload richiesta
Le richieste effettuate all'API Actions non devono superare i 10 MB. Sono inclusi gli endpoint per i flussi di client, dove ogni richiesta nel flusso deve avere una dimensione massima di 10 MB.
Se il payload supera i 10 MB, dovresti ricevere un errore 400
dal server Actions SDK.
best practice
Le best practice riportate di seguito sono vivamente consigliate quando utilizzi l'API Actions.
Imposta l'intestazione della richiesta x-goog-user-project
Quando crei uno strumento o un'applicazione per i tuoi utenti, è consigliabile che il progetto di un utente venga fatturato e utilizzato per i limiti di quota, anziché per il tuo progetto client.
Per specificare un progetto ai fini della fatturazione e della quota, imposta l'intestazione della richiesta x-goog-user-project
.
Valori validi | L'ID progetto per un progetto Google Cloud esistente |
Esempio | x-goog-user-project: my-project |
Dettagli | Il progetto specificato nell'intestazione viene utilizzato per i limiti di quota e viene fatturato per gli addebiti associati alla richiesta. |
Imposta l'intestazione della richiesta user agent
Imposta uno user agent appropriato utilizzando l'intestazione della richiesta user-agent
. Ciò consente all'API di determinare se le richieste provengono dai partner.
Limitazioni note
Questa sezione descrive le limitazioni note dell'API Actions.
Timeout per gli endpoint dei flussi di client
Questo limite si applica solo alle richieste HTTP inviate agli endpoint di flussi di client. Le richieste effettuate utilizzando la libreria client non sono interessate da questa limitazione.
Se utilizzi le richieste HTTP per chiamare WritePreview
, CreateVersion
o WriteDraft
, ti consigliamo di implementare un timeout per gestire le richieste che non vanno a buon fine.
Se ricevi un'intestazione della risposta che specifica un codice di stato diverso da 200
, il codice deve terminare il flusso dopo un determinato periodo di tempo. Questo problema riguarda solo gli endpoint dei flussi di client. Ad esempio, lo strumento gactions
,
che utilizza l'API Actions, ha un timeout di 5 secondi.