มีหลักการหลายอย่างที่คุณควรปฏิบัติตามเมื่อใช้ Google เอกสาร API ซึ่งรวมถึงการใช้งานดังต่อไปนี้
- แก้ไขย้อนหลังเพื่อประสิทธิภาพ
- วางแผนการทำงานร่วมกัน
- ตรวจสอบว่าสถานะสอดคล้องกันโดยใช้ช่อง
WriteControl
ส่วนต่อไปนี้จะอธิบายหลักการเหล่านี้
แก้ไขย้อนหลังเพื่อประสิทธิภาพ
ในการเรียกเมธอด documents.batchUpdate
ครั้งเดียว ให้เรียงลำดับคำขอตามลำดับจากมากไปน้อยของตำแหน่งดัชนี ซึ่งช่วยให้ไม่ต้องคำนวณการเปลี่ยนแปลงดัชนีเนื่องจากการแทรกและการลบ
วางแผนการทำงานร่วมกัน
โปรดทราบว่าสถานะของเอกสารจะมีการเปลี่ยนแปลง ระหว่างการเรียกใช้เมธอดหนึ่งกับอีกเมธอดหนึ่ง ผู้ทำงานร่วมกันคนอื่นๆ อาจอัปเดตเอกสาร ดังที่ปรากฏในแผนภาพต่อไปนี้
ซึ่งอาจทำให้เกิดข้อผิดพลาดหากดัชนีไม่ถูกต้อง การที่ผู้ใช้หลายคนแก้ไขเอกสารโดยใช้ UI จะทำให้ Google เอกสารดูแลเรื่องนี้ได้อย่างโปร่งใส อย่างไรก็ตาม ในฐานะไคลเอ็นต์ API แอปของคุณต้องจัดการส่วนนี้ แม้คุณจะไม่ได้คาดหวังการทำงานร่วมกันในเอกสาร แต่คุณก็ควรตั้งโปรแกรมในเชิงป้องกันและตรวจสอบว่าสถานะของเอกสารยังคงสอดคล้องกัน อ่านหัวข้อ WriteControl
เพื่อดูวิธีตรวจสอบความสอดคล้อง
สร้างความสอดคล้องในสถานะด้วย WriteControl
เมื่ออ่านและอัปเดตเอกสารแล้ว คุณจะควบคุมลักษณะการจัดการการเปลี่ยนแปลงในการแข่งขันได้โดยใช้ช่อง WriteControl
ในเมธอด documents.batchUpdate
WriteControl
จะมีอำนาจในการดำเนินการตามคำขอเขียน
โดยทำดังนี้
- ดาวน์โหลดเอกสารโดยใช้เมธอด
documents.get
และบันทึกrevisionId
จากทรัพยากรdocuments
ที่ส่งคืน - เขียนคำขออัปเดต
- ใส่ออบเจ็กต์
WriteControl
ที่ไม่บังคับด้วย 1 ใน 2 ตัวเลือกต่อไปนี้- ช่อง
requiredRevisionId
ได้รับการตั้งค่าเป็นrevisionId
ของเอกสารที่จะใช้คำขอเขียน หากมีการแก้ไขเอกสารตั้งแต่มีการขออ่าน API ระบบจะไม่ประมวลผลคำขอเขียนและแสดงผลข้อผิดพลาด - ฟิลด์
targetRevisionId
ได้รับการตั้งค่าเป็นrevisionId
ของเอกสารที่จะใช้คำขอเขียน หากมีการแก้ไขเอกสารตั้งแต่คำขออ่าน API การเปลี่ยนแปลงคำขอเขียนจะมีผลกับการเปลี่ยนแปลงของผู้ทำงานร่วมกัน ผลลัพธ์ของคำขอเขียนจะรวมทั้งการเปลี่ยนแปลงคำขอเขียนและการเปลี่ยนแปลงของผู้ทำงานร่วมกันเป็นการแก้ไขใหม่ของเอกสาร เซิร์ฟเวอร์เอกสารมีหน้าที่รวมเนื้อหา
- ช่อง
ดูตัวอย่างวิธีสร้างคำขอแบบกลุ่มโดยใช้ WriteControl
ได้ที่ตัวอย่างคำขอแบบกลุ่ม