ขีดจำกัดการใช้งาน

เนื่องจาก Google Forms API เป็นบริการที่แชร์ เราจึงกำหนดโควต้าและข้อจำกัดเพื่อให้ผู้ใช้ทุกคนใช้งานได้อย่างยุติธรรมและเพื่อปกป้องความสมบูรณ์โดยรวมของระบบ Google Workspace

หากคุณใช้เกินโควต้า โดยทั่วไปแล้วคุณจะได้รับการตอบกลับเป็นรหัสสถานะ HTTP 429: Too many requests หากเกิดกรณีนี้ขึ้น คุณควรใช้อัลกอริทึม Exponential Backoff และลองอีกครั้ง ในภายหลัง หากคุณใช้ไม่เกินโควต้าต่อนาทีที่ระบุไว้ด้านล่าง คุณจะส่งคำขอได้ไม่จำกัดจำนวนต่อวัน

หมายเหตุ: การเฝ้าดูแบบฟอร์มมีขีดจำกัดเพิ่มเติม ดูข้อมูลเพิ่มเติมได้ที่ ตั้งค่าและรับการแจ้งเตือนแบบพุช

ตารางต่อไปนี้แสดงรายละเอียดขีดจำกัดคำขอ

โควต้า
คำขอที่อ่าน
ต่อวันต่อโปรเจ็กต์ ไม่จำกัด
ต่อนาทีต่อโปรเจ็กต์ 975
ต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ 390
คำขอที่อ่านซึ่งใช้ทรัพยากรมาก

(ใช้สำหรับคำขอ forms.responses.list)

ต่อวันต่อโปรเจ็กต์ ไม่จำกัด
ต่อนาทีต่อโปรเจ็กต์ 450
ต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ 180
คำขอที่เขียน
ต่อวันต่อโปรเจ็กต์ ไม่จำกัด
ต่อนาทีต่อโปรเจ็กต์ 375
ต่อนาทีต่อผู้ใช้ต่อโปรเจ็กต์ 150

แก้ไขข้อผิดพลาดเกี่ยวกับโควต้าตามเวลา

สำหรับข้อผิดพลาดทั้งหมดที่อิงตามเวลา (คำขอสูงสุด N รายการต่อ X นาที) เราขอแนะนำ ให้โค้ดของคุณดักจับข้อยกเว้นและใช้ Exponential Backoff แบบย่อ เพื่อให้แน่ใจว่าอุปกรณ์ จะไม่สร้างโหลดมากเกินไป

Exponential Backoff เป็นกลยุทธ์การจัดการข้อผิดพลาดมาตรฐานสำหรับแอปพลิเคชันเครือข่าย อัลกอริทึม Exponential Backoff จะลองส่งคำขออีกครั้งโดยใช้เวลารอระหว่างคำขอที่เพิ่มขึ้นแบบยกกำลัง จนถึงเวลา Backoff สูงสุด หากคำขอไม่สำเร็จ คุณควรเพิ่มความล่าช้าระหว่างคำขอเมื่อเวลาผ่านไปจนกว่าคำขอจะสำเร็จ

อัลกอริทึมตัวอย่าง

อัลกอริทึม Exponential Backoff จะลองส่งคำขออีกครั้งแบบยกกำลัง โดยเพิ่มเวลารอ ระหว่างการลองอีกครั้งจนถึงเวลา Backoff สูงสุด เช่น

  1. ส่งคำขอไปยัง Google Forms API
  2. หากคำขอไม่สำเร็จ ให้รอ 1 + random_number_milliseconds แล้วลองส่งคำขออีกครั้ง
  3. หากคำขอไม่สำเร็จ ให้รอ 2 + random_number_milliseconds แล้วลองส่งคำขออีกครั้ง
  4. หากคำขอไม่สำเร็จ ให้รอ 4 + random_number_milliseconds แล้วลองส่งคำขออีกครั้ง
  5. และอื่นๆ ไปเรื่อยๆ จนถึงเวลา maximum_backoff
  6. รอและลองอีกครั้งต่อไปจนถึงจำนวนการลองอีกครั้งสูงสุด แต่ไม่ต้องเพิ่มระยะเวลารอ ระหว่างการลองอีกครั้ง

โดยที่

  • เวลารอคือ min(((2^n)+random_number_milliseconds), maximum_backoff), โดย n จะเพิ่มขึ้นทีละ 1 สำหรับการทำซ้ำ (คำขอ) แต่ละครั้ง
  • random_number_milliseconds คือจำนวนมิลลิวินาทีแบบสุ่มซึ่งมีค่าไม่เกิน 1,000 ซึ่งจะช่วยหลีกเลี่ยงกรณีที่ไคลเอ็นต์จำนวนมากซิงค์กันเนื่องจาก สถานการณ์บางอย่างและลองอีกครั้งพร้อมกันทั้งหมด ทำให้เกิดการส่งคำขอเป็นระลอกแบบซิงค์ ระบบจะคำนวณค่า random_number_milliseconds ใหม่หลังจากคำขอแต่ละรายการที่ลองอีกครั้ง
  • maximum_backoff โดยทั่วไปคือ 32 หรือ 64 วินาที ค่าที่เหมาะสม จะขึ้นอยู่กับกรณีการใช้งาน

ไคลเอ็นต์สามารถลองอีกครั้งต่อไปได้หลังจากถึงเวลา maximum_backoff แล้ว การลองอีกครั้งหลังจากจุดนี้ไม่จำเป็นต้องเพิ่มเวลา Backoff ต่อไป เช่น หากไคลเอ็นต์ใช้เวลา maximum_backoff 64 วินาที หลังจากถึงค่า นี้แล้ว ไคลเอ็นต์จะลองอีกครั้งทุกๆ 64 วินาทีได้ ไคลเอ็นต์ควรได้รับการป้องกันไม่ให้ลองอีกครั้งอย่างไม่มีกำหนด

เวลารอระหว่างการลองอีกครั้งและจำนวนการลองอีกครั้งจะขึ้นอยู่กับกรณีการใช้งาน และสภาพเครือข่าย

ราคา

การใช้ Google Forms API ตามมาตรฐานทั้งหมดไม่มีค่าใช้จ่ายเพิ่มเติม ระบบวางแผนที่จะเรียกเก็บเงินจากบัญชีสำหรับการเรียกเก็บเงินของ Google Cloud หากคุณใช้เกินขีดจำกัดคำขอโควต้า ในช่วงปลายปี 2026 ดูข้อมูลเพิ่มเติมได้ที่ โมเดลมาตรฐานของ Google Workspace สำหรับเครื่องมือและ API ของตัวแทน

ขอเพิ่มโควต้า

คุณอาจต้องการขอปรับโควต้าตามการใช้ทรัพยากรของโปรเจ็กต์ ระบบจะถือว่าการเรียก API โดยบัญชีบริการเป็นการใช้บัญชีเดียว การขอโควต้าที่ปรับแล้วอาจไม่ได้รับการอนุมัติเสมอไป คำขอปรับโควต้าที่จะเพิ่มค่าโควต้าอย่างมากอาจใช้เวลาในการอนุมัตินานขึ้น

โปรเจ็กต์ทั้งหมดไม่ได้มีโควต้าเท่ากัน เมื่อคุณใช้ Google Cloud มากขึ้นเรื่อยๆ ค่าโควต้าอาจต้องเพิ่มขึ้น หากคาดว่าจะมีการใช้งานเพิ่มขึ้นอย่างเห็นได้ชัดในอนาคต คุณสามารถขอปรับโควต้าล่วงหน้าได้จากหน้าโควต้าและขีดจำกัดของระบบในคอนโซล Google Cloud

ดูข้อมูลเพิ่มเติมได้จากแหล่งข้อมูลต่อไปนี้