API Actions

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.