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 要求呼叫 WritePreview
、CreateVersion
或 WriteDraft
,建議您實作逾時以處理失敗的要求。
如果您收到的回應標頭指定 200
以外的狀態碼,您的程式碼應該在一段時間後終止串流。這個問題只會影響用戶端串流端點。舉例來說,使用 Actions API 的 gactions
工具有 5 秒的逾時時間。