Actions API มีปลายทางเพื่อช่วยสร้าง จัดการ และทดสอบการดำเนินการ
ไลบรารีของไคลเอ็นต์ (Node.js)
แม้คุณจะใช้บริการ Actions API RESTful ได้โดยการส่งคำขอ HTTP ไปยังเซิร์ฟเวอร์โดยตรง แต่เรามีไลบรารีของไคลเอ็นต์ที่จะช่วยให้เข้าถึงปลายทางจาก 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 โปรดดูเอกสารเกี่ยวกับไลบรารีและข้อมูลอ้างอิง REST ของ Actions API
ข้อกำหนด
ข้อกำหนดต่อไปนี้ใช้กับคำขอที่ส่งไปยัง Actions API
ขนาดเปย์โหลดคำขอ
คำขอที่ส่งไปยัง Actions API ต้องมีขนาดไม่เกิน 10 MB ซึ่งรวมถึงปลายทางสตรีมมิงของไคลเอ็นต์ที่แต่ละคำขอในสตรีมต้องมีขนาดไม่เกิน 10 MB
หากเพย์โหลดเกิน 10 MB คุณควรได้รับข้อผิดพลาด 400
จากเซิร์ฟเวอร์ Actions SDK
แนวทางปฏิบัติแนะนำ
เราขอแนะนำแนวทางปฏิบัติแนะนำต่อไปนี้เมื่อใช้ Actions API
ตั้งค่าส่วนหัวของคำขอ x-goog-user-project
เมื่อสร้างเครื่องมือหรือแอปพลิเคชันสำหรับผู้ใช้ คุณอาจต้องการให้มีการเรียกเก็บเงินและใช้โปรเจ็กต์ของผู้ใช้สำหรับขีดจำกัดโควต้า แทนที่จะเป็นโปรเจ็กต์ของไคลเอ็นต์
หากต้องการระบุโปรเจ็กต์เพื่อวัตถุประสงค์ในการเรียกเก็บเงินและโควต้า ให้ตั้งค่าส่วนหัวของคำขอ x-goog-user-project
ค่าที่ถูกต้อง | รหัสโปรเจ็กต์ของโปรเจ็กต์ Google Cloud ที่มีอยู่ |
ตัวอย่าง | x-goog-user-project: my-project |
รายละเอียด | โปรเจ็กต์ที่ระบุในส่วนหัวใช้สำหรับขีดจำกัดโควต้าและเรียกเก็บเงินสำหรับค่าใช้จ่ายที่เกี่ยวข้องกับคำขอ |
ตั้งค่าส่วนหัวของคำขอ User Agent
ตั้งค่า User Agent ที่เหมาะสมโดยใช้ส่วนหัวของคำขอ user-agent
ซึ่งจะช่วยให้ API ระบุได้ว่าคำขอมาจากพาร์ทเนอร์หรือไม่
ข้อจำกัดที่ทราบ
ส่วนนี้จะอธิบายข้อจำกัดที่ทราบของ Actions API
ระยะหมดเวลาสำหรับปลายทางสตรีมมิงของไคลเอ็นต์
ข้อจำกัดนี้จะมีผลกับคำขอ HTTP ที่คุณทำกับปลายทางสตรีมมิงของไคลเอ็นต์เท่านั้น คำขอที่สร้างขึ้นโดยใช้ไลบรารีของไคลเอ็นต์จะไม่ได้รับผลกระทบจากข้อจำกัดนี้
หากคุณใช้คำขอ HTTP เพื่อเรียก WritePreview
, CreateVersion
หรือ WriteDraft
เราขอแนะนำให้คุณใช้ระยะหมดเวลาเพื่อจัดการคำขอที่ไม่ประสบความสำเร็จ
หากคุณได้รับส่วนหัวการตอบกลับที่ระบุรหัสสถานะอื่นที่ไม่ใช่ 200
โค้ดควรสิ้นสุดสตรีมหลังจากผ่านไประยะเวลาหนึ่ง ปัญหานี้มีผลเฉพาะกับปลายทางสตรีมมิงของไคลเอ็นต์เท่านั้น ตัวอย่างเช่น เครื่องมือ gactions
ซึ่งใช้ Actions API จะมีระยะหมดเวลา 5 วินาที