API การทํางาน

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 วินาที