Actions API

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

用戶端程式庫 (Node.js)

雖然您可以直接向伺服器發出 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 可協助 API 判斷要求是否由合作夥伴發出。

已知限制

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

用戶端串流端點逾時

這項限制僅適用於您對用戶端串流端點發出的 HTTP 要求。使用用戶端程式庫提出的要求不受此限制影響。

如果您使用 HTTP 要求呼叫 WritePreviewCreateVersionWriteDraft,建議您執行逾時來處理失敗的要求。

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