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,動作應會收到 400 錯誤 SDK 伺服器

最佳做法

強烈建議採用以下最佳做法的情況下 或是使用 Actions API

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

為使用者建立工具或應用程式時,您也許會希望 帳單及配額,而非用戶端專案。 如要指定計費和配額用途的專案,請設定 x-goog-user-project 要求標頭。

有效值 現有專案 ID Google Cloud 專案
範例 x-goog-user-project: my-project
詳細資料 標頭中指定的專案會用於配額限制及計費 收取與要求相關的費用

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

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

已知限制

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

用戶端串流端點逾時

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

如果您使用 HTTP 要求呼叫 WritePreviewCreateVersionWriteDraft, 建議您設定逾時,以處理不屬於 成功。

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