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 要求呼叫 WritePreview
、CreateVersion
或 WriteDraft
,
建議您設定逾時,以處理不屬於
成功。
如果您收到的回應標頭指定 200
以外的狀態碼,
程式碼應在一段時間過後終止串流本期
只會影響用戶端串流端點。例如 gactions
工具
使用 Actions API 則有 5 秒的逾時時間