La API de Actions proporciona extremos para ayudarte a compilar, administrar y probar tu acción.
Biblioteca cliente (Node.js)
Si bien puedes usar el servicio RESTful de la API de Actions realizando solicitudes HTTP directas al servidor, proporcionamos una biblioteca cliente que facilita el acceso a los extremos desde Node.js. La biblioteca cliente de la API de Actions te permite administrar y probar la acción mediante una variedad de extremos.
Por ejemplo, el siguiente código realiza una llamada al extremo writePreview
para actualizar la vista previa del proyecto de un usuario según el modelo proporcionado:
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);
}
Si deseas obtener instrucciones de instalación y material de referencia para la biblioteca cliente de Node.js de la API de Actions, consulta la documentación de biblioteca y de referencia de la API de Actions de REST.
Requisitos
Los siguientes requisitos se aplican a las solicitudes realizadas a la API de Actions.
Tamaño de la carga útil de la solicitud
Las solicitudes que se realicen a la API de Actions deben tener un tamaño de 10 MB o menos. Esto incluye los extremos de transmisión del cliente, en los que cada solicitud debe ser de 10 MB o menos.
Si la carga útil supera los 10 MB, deberías recibir un error 400
del servidor del SDK de Actions.
Prácticas recomendadas
Las siguientes prácticas recomendadas son muy útiles cuando usas la API de Actions.
Configura el encabezado de la solicitud x-goog-user-project
Cuando crees una herramienta o aplicación para tus usuarios, es posible que quieras que el proyecto de un usuario se facture y se use para los límites de las cuotas, en lugar del proyecto del cliente.
Si deseas especificar un proyecto para fines de facturación y cuota, establece el encabezado de la solicitud x-goog-user-project
.
Valores válidos | El ID del proyecto de un proyecto de Google Cloud existente |
Ejemplo | x-goog-user-project: my-project |
Detalles | El proyecto especificado en el encabezado se usa para los límites de cuota y se factura por los cargos asociados con la solicitud. |
Configura el encabezado de la solicitud del usuario-agente
Configura un usuario-agente adecuado con el encabezado de la solicitud user-agent
. Esto ayuda a la API a determinar si las solicitudes se originan en socios.
Limitaciones conocidas
En esta sección, se describen las limitaciones conocidas de la API de Actions.
Tiempo de espera para los extremos de transmisión del cliente
Esta limitación solo se aplica a las solicitudes HTTP que realices en los extremos de transmisión del cliente. Las solicitudes realizadas con la biblioteca cliente no se ven afectadas por esta limitación.
Si usas solicitudes HTTP para llamar a WritePreview
, CreateVersion
o WriteDraft
, te recomendamos que implementes un tiempo de espera a fin de controlar las solicitudes que no tienen éxito.
Si recibes un encabezado de respuesta que especifica un código de estado distinto de 200
, el código debería finalizar la transmisión después de un período determinado. Este problema solo afecta a los extremos de transmisión del cliente. Por ejemplo, la herramienta gactions
, que usa la API de Actions, tiene un tiempo de espera de 5 segundos.