對話動作功能將於 2023 年 6 月 13 日淘汰。詳情請參閱「對話動作已淘汰」。

Actions API

Actions API 提供端點,可協助你建構、管理及測試動作。

用戶端程式庫 (Node.js)

雖然向行動 API 發出直接 HTTP 要求以使用 Actions API REST 服務,但我們提供了用戶端程式庫,讓您更輕鬆地從 Node.js 存取端點。Actions API 用戶端程式庫可讓您透過各種端點管理及測試動作。

舉例來說,以下程式碼會呼叫 writePreview 端點,並根據提供的模型更新使用者的專案預覽:

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

如需 Actions API Node.js 用戶端程式庫的安裝操作說明和參考資源,請參閱「程式庫」和「Actions API REST 參考資料」說明文件。

需求條件

以下規定適用於 Actions API 發出的要求。

要求酬載大小

向 Actions API 發出的要求不得大於 10 MB。這包括用戶端串流端點,串流中的每項要求大小不得超過 10 MB。

如果酬載超過 10 MB,則應透過 Actions SDK 伺服器接收 400 錯誤。

最佳做法

使用 Actions API 時,強烈建議您採用下列最佳做法。

設定 x-goog-user-project 要求標頭

為使用者開發工具或應用程式時,您可能會希望使用者的專案計費並以配額限制的方式處理,而非用戶端專案。如要指定用於計費和配額功能的專案,請設定 x-goog-user-project 要求標頭。

有效值 現有 Google Cloud 專案的專案 ID
範例 x-goog-user-project: my-project
詳細說明 標頭中指定的專案會用於配額限制,系統也會向您收取與要求相關的費用。

設定使用者代理程式要求標頭

使用 user-agent 要求標頭設定適當的使用者代理程式。這有助於 API 判斷要求是否來自合作夥伴。

已知限制

本節說明 Actions API 的已知限制。

用戶端串流端點逾時

這項限制僅適用於您傳送至用戶端串流端點的 HTTP 要求。使用用戶端程式庫發出的要求不會受到這項限制的影響。

如果您使用 HTTP 要求呼叫 WritePreviewCreateVersionWriteDraft,建議您實作逾時以處理失敗的要求。

如果您收到的回應標頭指定 200 以外的狀態碼,您的程式碼應該在一段時間後終止串流。這個問題只會影響用戶端串流端點。舉例來說,使用 Actions API 的 gactions 工具有 5 秒的逾時時間。