Actions API menyediakan endpoint untuk membantu membuat, mengelola, dan menguji Action Anda.
Library Klien (Node.js)
Meskipun Anda dapat menggunakan layanan Actions API RESTful dengan membuat permintaan HTTP langsung ke server, kami menyediakan library klien yang mempermudah akses ke endpoint dari Node.js. Library klien Actions API memungkinkan Anda mengelola dan menguji Action menggunakan berbagai endpoint.
Misalnya, kode di bawah melakukan panggilan ke endpoint writePreview
untuk mengupdate pratinjau project pengguna berdasarkan model yang disediakan:
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);
}
Untuk petunjuk penginstalan dan materi referensi library klien Node.js Actions API, lihat dokumentasi library dan referensi REST API Actions.
Persyaratan
Persyaratan berikut berlaku untuk permintaan yang dibuat ke Actions API.
Ukuran payload permintaan
Permintaan yang dibuat ke Actions API harus berukuran maksimal 10 MB. Hal ini mencakup endpoint streaming klien, dengan setiap permintaan dalam streaming harus berukuran 10 MB atau kurang.
Jika payload melebihi 10 MB, Anda akan menerima error 400
dari server
Action SDK.
Praktik terbaik
Praktik terbaik berikut sangat direkomendasikan saat Anda menggunakan Actions API.
Menetapkan header permintaan x-goog-user-project
Saat membuat alat atau aplikasi untuk pengguna, Anda mungkin ingin project pengguna ditagih dan digunakan untuk batas kuota, bukan project klien Anda.
Guna menentukan project untuk tujuan penagihan dan kuota, tetapkan header permintaan x-goog-user-project
.
Nilai Valid | Project ID untuk project Google Cloud yang sudah ada |
Contoh | x-goog-user-project: my-project |
Detail | Project yang ditentukan dalam header digunakan untuk batas kuota dan ditagih untuk biaya yang terkait dengan permintaan tersebut. |
Menyetel header permintaan agen pengguna
Tetapkan agen pengguna yang sesuai menggunakan header permintaan user-agent
. Hal ini
membantu API menentukan apakah permintaan berasal dari partner atau tidak.
Batasan umum
Bagian ini menjelaskan batasan umum Actions API.
Waktu tunggu untuk endpoint streaming klien
Batasan ini hanya berlaku untuk permintaan HTTP yang Anda buat ke endpoint streaming klien. Permintaan yang dibuat menggunakan library klien tidak terpengaruh oleh batasan ini.
Jika Anda menggunakan permintaan HTTP untuk memanggil WritePreview
, CreateVersion
, atau WriteDraft
, sebaiknya implementasikan waktu tunggu untuk menangani permintaan yang tidak berhasil.
Jika menerima header respons yang menentukan kode status selain 200
,
kode Anda harus menghentikan streaming setelah jangka waktu tertentu. Masalah ini
hanya memengaruhi endpoint streaming klien. Misalnya, alat gactions
,
yang menggunakan Actions API, memiliki waktu tunggu 5 detik.