Actions API menyediakan endpoint untuk membantu membuat, mengelola, dan menguji Action Anda.
Library Klien (Node.js)
Meskipun Anda dapat menggunakan layanan RESTful Actions API dengan membuat permintaan HTTP langsung ke server, kami menyediakan library klien yang mempermudah akses 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 memperbarui pratinjau project pengguna berdasarkan model yang diberikan:
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 mengetahui petunjuk penginstalan dan materi referensi untuk library klien Node.js Actions API, lihat dokumentasi library dan referensi REST Actions API.
Persyaratan
Persyaratan berikut berlaku untuk permintaan yang dibuat ke Actions API.
Ukuran payload permintaan
Permintaan yang dibuat ke Actions API harus berukuran 10 MB atau kurang. Hal ini mencakup endpoint streaming klien, dengan setiap permintaan dalam aliran data harus berukuran 10 MB atau kurang.
Jika payload Anda melebihi 10 MB, Anda akan menerima error 400
dari Tindakan
Server 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 menginginkan
project yang akan ditagih dan digunakan untuk batas kuota, bukan project klien.
Guna menentukan project untuk tujuan penagihan dan kuota, setel
Header permintaan x-goog-user-project
.
Nilai Valid | Project ID untuk project yang sudah ada Project Google Cloud |
Contoh | x-goog-user-project: my-project |
Detail | Project yang ditentukan dalam header digunakan untuk batas kuota dan ditagih untuk tagihan yang terkait dengan permintaan tersebut. |
Menetapkan header permintaan agen pengguna
Tetapkan agen pengguna yang sesuai menggunakan header permintaan user-agent
. 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 untuk streaming klien endpoint. Permintaan yang dibuat menggunakan library klien tidak terpengaruh oleh batasan ini.
Jika Anda menggunakan permintaan HTTP untuk memanggil WritePreview
, CreateVersion
, atau WriteDraft
, kami
menyarankan agar Anda menerapkan waktu tunggu
untuk menangani permintaan yang tidak
berhasil.
Jika Anda menerima header respons yang menentukan kode status selain 200
,
kode Anda harus menghentikan {i>streaming<i}
setelah periode waktu tertentu. Terbitan ini
hanya memengaruhi endpoint streaming klien. Misalnya, alat gactions
,
yang menggunakan Actions API, memiliki waktu tunggu 5 detik.