Interfejs Actions

Actions API udostępnia punkty końcowe ułatwiające tworzenie akcji oraz zarządzanie nią.

Biblioteka klienta (Node.js)

Mimo że możesz korzystać z usługi Actions API REST, wysyłając bezpośrednie żądania HTTP do serwera, udostępniamy bibliotekę klienta, która ułatwia dostęp do punktów końcowych z Node.js. Biblioteka klienta interfejsu Actions API umożliwia zarządzanie działaniem i testowanie go za pomocą różnych punktów końcowych.

Na przykład poniższy kod wywołuje wywołanie punktu końcowego writePreview, aby zaktualizować podgląd projektu użytkownika na podstawie podanego modelu:

   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);
    }

Instrukcje instalacji i materiały referencyjne dotyczące biblioteki klienta Actions API Node.js znajdziesz w dokumentacji biblioteki i interfejsu API REST Actions.

Wymagania

W przypadku żądań wysyłanych do interfejsu Actions API obowiązują poniższe wymagania.

Rozmiar ładunku żądania

Żądania wysyłane do interfejsu Actions API mogą mieć maksymalnie 10 MB. Obejmuje to punkty końcowe strumieniowego przesyłania danych klienta, gdzie każde żądanie może mieć maksymalnie 10 MB.

Jeśli Twój ładunek przekracza 10 MB, na serwerze Actions SDK pojawi się błąd 400.

Sprawdzone metody

Jeśli używasz interfejsu Actions API, zdecydowanie zalecamy stosowanie tych sprawdzonych metod.

Ustaw nagłówek żądania x-goog-user-project

Gdy tworzysz narzędzie lub aplikację dla użytkowników, lepiej jest rozliczać i wykorzystywać projekt użytkownika na potrzeby limitów, a nie projektu klienta. Aby określić projekt na potrzeby rozliczeń i limitów, ustaw nagłówek żądania x-goog-user-project.

Prawidłowe wartości Identyfikator projektu istniejącego projektu Google Cloud.
Przykład x-goog-user-project: my-project
Szczegóły Projekt określony w nagłówku jest używany do limitów oraz obciążenia za opłaty związane z żądaniem.

Ustaw nagłówek żądania klienta użytkownika

Ustaw odpowiedniego klienta użytkownika za pomocą nagłówka żądania user-agent. Ułatwi to interfejsowi API określenie, czy żądania pochodzą od partnerów.

Znane ograniczenia

W tej sekcji opisano znane ograniczenia interfejsu Actions API.

Czas oczekiwania dla punktów końcowych strumieniowego przesyłania danych klienta

To ograniczenie dotyczy tylko żądań HTTP wysyłanych do punktów końcowych strumieniowego przesyłania danych przez klienta. To ograniczenie nie ma wpływu na żądania wysłane z biblioteki klienta.

Jeśli używasz żądań HTTP do wywoływania WritePreview, CreateVersion lub WriteDraft, zalecamy ustawienie czasu oczekiwania na obsługę nieudanych żądań.

Jeśli otrzymasz nagłówek odpowiedzi z innym kodem stanu niż 200, po określonym czasie kod powinien zakończyć transmisję. Ten problem dotyczy tylko punktów końcowych strumieniowego przesyłania danych klienta. Na przykład narzędzie gactions, które korzysta z interfejsu Actions API, ma 5-sekundowy limit czasu.