L'API Actions fournit des points de terminaison pour vous aider à créer, gérer et tester votre action.
Bibliothèque cliente (Node.js)
Bien que vous puissiez utiliser le service RESTful de l'API Actions en envoyant des requêtes HTTP directes au serveur, nous fournissons une bibliothèque cliente qui facilite l'accès aux points de terminaison à partir de Node.js. La bibliothèque cliente de l'API Actions vous permet de gérer et de tester votre action via différents points de terminaison.
Par exemple, le code ci-dessous appelle le point de terminaison writePreview
pour mettre à jour l'aperçu du projet d'un utilisateur en fonction du modèle fourni:
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);
}
Pour obtenir les instructions d'installation et les documents de référence concernant la bibliothèque cliente Node.js de l'API Actions, consultez la documentation de référence sur la bibliothèque et l'API REST Actions.
Conditions requises
Les exigences suivantes s'appliquent aux requêtes envoyées à l'API Actions.
Taille de la charge utile de la requête
La taille des requêtes envoyées à l'API Actions ne doit pas dépasser 10 Mo. Cela inclut les points de terminaison de flux clients, où la taille de chaque requête dans le flux doit être de 10 Mo ou moins.
Si votre charge utile dépasse 10 Mo, vous devriez recevoir une erreur 400
des actions
SDK Server.
Bonnes pratiques
Les bonnes pratiques suivantes sont fortement recommandées vous utilisez l'API Actions.
Définir l'en-tête de requête x-goog-user-project
Lorsque vous créez un outil ou une application pour vos utilisateurs, vous pouvez
projet à facturer et utilisé pour les limites de quota, plutôt que votre projet client.
Pour spécifier un projet à des fins de facturation et de quota, définissez le paramètre
En-tête de requête x-goog-user-project
.
Valeurs correctes | L'ID de projet d'un projet existant Projet Google Cloud |
Exemple | x-goog-user-project: my-project |
Détails | Le projet spécifié dans l'en-tête est utilisé pour les limites de quota et facturé pour les frais associés à la requête. |
Définir l'en-tête de requête user-agent
Définissez un user-agent approprié à l'aide de l'en-tête de requête user-agent
. Ce
permet à l'API de déterminer si les requêtes proviennent de partenaires.
Limites connues
Cette section décrit les limites connues de l'API Actions.
Délai avant expiration pour les points de terminaison de flux client
Cette limite ne s'applique qu'aux requêtes HTTP que vous effectuez pour des flux de données client les points de terminaison. Les requêtes effectuées à l'aide de la bibliothèque cliente ne sont pas ne sont pas concernés par cette limitation.
Si vous utilisez des requêtes HTTP pour appeler WritePreview
, CreateVersion
ou WriteDraft
, nous
nous vous recommandons d'implémenter un délai avant expiration pour gérer les requêtes
réussi.
Si vous recevez un en-tête de réponse qui spécifie un code d'état autre que 200
,
votre code doit arrêter le flux
après une certaine période. Ce problème
n'affecte que les points de terminaison de flux clients. Par exemple, l'outil gactions
,
qui utilise l'API Actions, a un délai d'inactivité de cinq secondes.