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.