A API Actions oferece endpoints para criar, gerenciar e testar a ação.
Biblioteca de cliente (Node.js)
Embora seja possível usar o serviço RESTful da API Actions fazendo solicitações HTTP diretas ao servidor, fornecemos uma biblioteca de cliente que facilita o acesso aos endpoints do Node.js. A biblioteca de cliente da API Actions permite gerenciar e testar a ação usando vários endpoints.
Por exemplo, o código abaixo faz uma chamada para o endpoint writePreview
para atualizar a visualização do projeto de um usuário com base no modelo fornecido:
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);
}
Confira instruções de instalação e material de referência da biblioteca de cliente Node.js da API Actions na documentação da biblioteca e da referência REST da API Actions.
Requisitos
Os requisitos a seguir se aplicam às solicitações feitas à API Actions.
Tamanho do payload da solicitação
As solicitações feitas à API Actions precisam ter até 10 MB. Isso inclui endpoints de streaming de cliente, em que cada solicitação no stream precisa ter até 10 MB.
Se o payload exceder 10 MB, você receberá um erro 400
do servidor do SDK
do Actions.
Práticas recomendadas
As práticas abaixo são altamente recomendadas ao usar a API Actions.
Definir o cabeçalho de solicitação x-goog-user-project
Ao criar uma ferramenta ou aplicativo para seus usuários, você pode querer que o projeto de um usuário seja cobrado e usado para limites de cota, em vez de seu projeto do cliente.
Para especificar um projeto para fins de faturamento e cota, defina o cabeçalho da solicitação x-goog-user-project
.
Valid Values | O ID do projeto de um projeto atual do Google Cloud |
Exemplo | x-goog-user-project: my-project |
Detalhes | O projeto especificado no cabeçalho é usado para limites de cota e faturado pelas cobranças associadas à solicitação. |
Definir o cabeçalho de solicitação do user agent
Defina um user agent adequado usando o cabeçalho da solicitação user-agent
. Isso
ajuda a API a determinar se as solicitações são de parceiros.
Limitações conhecidas
Esta seção descreve as limitações conhecidas da API Actions.
Tempo limite dos endpoints de streaming do cliente
Essa limitação se aplica apenas a solicitações HTTP feitas para endpoints de streaming do cliente. As solicitações feitas usando a biblioteca de cliente não são afetadas por essa limitação.
Se você estiver usando solicitações HTTP para chamar WritePreview
, CreateVersion
ou WriteDraft
, recomendamos implementar um tempo limite para lidar com as solicitações que não são bem-sucedidas.
Se você receber um cabeçalho de resposta que especifica um código de status diferente de 200
,
seu código precisará encerrar o stream após um determinado período. Esse problema afeta apenas os endpoints de streaming do cliente. Por exemplo, a ferramenta gactions
,
que usa a API Actions, tem um tempo limite de cinco segundos.