แนวทางปฏิบัติแนะนำเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด

มีหลักการหลายประการที่คุณควรปฏิบัติตามเมื่อใช้ Google เอกสาร API ซึ่งรวมถึงการใช้งานดังต่อไปนี้

  • แก้ไขย้อนหลังเพื่อประสิทธิภาพ
  • วางแผนการทำงานร่วมกัน
  • ตรวจสอบความสอดคล้องของสถานะโดยใช้ช่อง WriteControl

ส่วนต่อไปนี้จะอธิบายหลักการเหล่านี้

แก้ไขย้อนหลังเพื่อประสิทธิภาพ

ภายในการเรียกเมธอด documents.batchUpdate ครั้งเดียว ให้จัดลำดับคำขอตามลำดับตำแหน่งดัชนีจากมากไปหาน้อย ซึ่งจะช่วยให้ไม่จำเป็นต้องคำนวณการเปลี่ยนแปลงดัชนีเนื่องจากมีการแทรกและการลบ

วางแผนการทำงานร่วมกัน

สถานะของเอกสารจะเปลี่ยนแปลง ระหว่างการเรียกใช้เมธอดหนึ่งกับการเรียกใช้อีกวิธี ผู้ทำงานร่วมกันคนอื่นๆ อาจอัปเดตเอกสาร ดังที่แสดงในแผนภาพต่อไปนี้

วิธีที่เอกสารจะเปลี่ยนแปลงระหว่างการเรียกใช้เมธอดได้

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

สร้างความสอดคล้องของสถานะด้วย WriteControl

เมื่ออ่านและอัปเดตเอกสารแล้ว คุณจะควบคุมลักษณะการทำงานของวิธีจัดการการเปลี่ยนแปลงคู่แข่งได้โดยใช้ช่อง WriteControl ในเมธอด documents.batchUpdate WriteControl ให้สิทธิ์เกี่ยวกับวิธีการดำเนินการคำขอการเขียน

โดยมีวิธีการใช้งานดังนี้

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

ดูตัวอย่างวิธีสร้างคำขอแบบกลุ่มโดยใช้ WriteControl ได้ที่ตัวอย่างคำขอแบบกลุ่มนี้