Actions API 提供有助于构建、管理和测试 Action 的端点。
客户端库 (Node.js)
虽然您可以通过向服务器发出直接 HTTP 请求来使用 Actions API RESTful 服务,但我们提供了一个客户端库,可让您更轻松地从 Node.js 访问端点。借助 Actions API 客户端库,您可以使用各种端点管理和测试 Action。
例如,以下代码会调用 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,您应该会收到来自 Action 的 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 的 SDK,超时时间为 5 秒。