API การทํางาน

Actions API มีปลายทางเพื่อช่วยสร้าง จัดการ และทดสอบการดำเนินการ

ไลบรารีของไคลเอ็นต์ (Node.js)

แม้ว่าคุณจะใช้บริการ RESTful ของ Actions API ได้โดยการส่งคำขอ 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 API ของ REST

ข้อกำหนด

ข้อกำหนดต่อไปนี้มีผลกับคำขอที่ส่งไปยัง Actions API

ขนาดเพย์โหลดคำขอ

คำขอที่ส่งไปยัง Actions API ต้องมีขนาดไม่เกิน 10 MB ซึ่งรวมถึง อุปกรณ์ปลายทางสตรีมมิงของไคลเอ็นต์ ซึ่งคำขอแต่ละรายการในสตรีมต้องมีขนาดไม่เกิน 10 MB หรือน้อยกว่านั้น

หากเพย์โหลดมีขนาดเกิน 10 MB คุณควรได้รับข้อผิดพลาด 400 จากการดำเนินการ เซิร์ฟเวอร์ 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 วินาที