การซิงค์ไคลเอ็นต์กับ Gmail อยู่เสมอเป็นสิ่งสําคัญสำหรับสถานการณ์การใช้งานส่วนใหญ่ สถานการณ์การซิงค์โดยรวมมี 2 แบบ ได้แก่ การซิงค์แบบเต็มและการซิงค์บางส่วน จำเป็นต้องทำการซิงค์อย่างเต็มรูปแบบเมื่อโปรแกรมรับส่งอีเมลเชื่อมต่อกับ Gmail เป็นครั้งแรก และในบางสถานการณ์ที่พบไม่บ่อย หากไคลเอ็นต์เพิ่งซิงค์ การซิงค์บางส่วนจะเป็นทางเลือกที่เบากว่าการซิงค์ทั้งหมด นอกจากนี้ คุณยังใช้ข้อความ Push เพื่อทริกเกอร์การซิงค์บางส่วนแบบเรียลไทม์ได้เฉพาะเมื่อจำเป็นเท่านั้น ซึ่งจะช่วยหลีกเลี่ยงการสอบถามที่ไม่จำเป็น
เนื้อหา
การซิงค์ทั้งหมด
เมื่อแอปพลิเคชันเชื่อมต่อกับ Gmail เป็นครั้งแรก หรือหากการซิงค์บางส่วนไม่พร้อมใช้งาน คุณต้องทำการซิงค์แบบเต็ม ในการซิงค์แบบเต็ม แอปพลิเคชันควรดึงข้อมูลและจัดเก็บข้อความหรือชุดข้อความล่าสุดจํานวนมากที่สุดที่จําเป็นต่อวัตถุประสงค์ของคุณ เช่น หากแอปพลิเคชันแสดงรายการข้อความล่าสุด คุณอาจต้องการดึงข้อมูลและแคชข้อความไว้มากพอเพื่อให้อินเทอร์เฟซตอบสนองได้หากผู้ใช้เลื่อนผ่านข้อความแรกๆ ที่แสดง ขั้นตอนทั่วไปในการดำเนินการซิงค์ทั้งหมดมีดังนี้
- โทรหา
messages.list
เพื่อเรียกดูหน้าแรกของรหัสข้อความ - สร้างคําขอแบบเป็นกลุ่มของคําขอ
messages.get
สําหรับข้อความแต่ละรายการที่แสดงผลโดยคําขอรายการ หากแอปพลิเคชันแสดงเนื้อหาข้อความ คุณควรใช้format=FULL
หรือformat=RAW
เมื่อแอปพลิเคชันเรียกข้อมูลข้อความเป็นครั้งแรก และแคชผลลัพธ์เพื่อหลีกเลี่ยงการดำเนินการเรียกข้อมูลเพิ่มเติม หากดึงข้อมูลข้อความที่แคชไว้ก่อนหน้านี้ คุณควรใช้format=MINIMAL
เพื่อลดขนาดของคำตอบ เนื่องจากมีเพียงlabelIds
เท่านั้นที่อาจเปลี่ยนแปลง - ผสานการอัปเดตเข้ากับผลลัพธ์ที่แคชไว้ แอปพลิเคชันควรจัดเก็บ
historyId
ของข้อความล่าสุด (ข้อความแรกในการตอบกลับlist
) ไว้สำหรับการซิงค์บางส่วนในอนาคต
การซิงค์บางส่วน
หากแอปพลิเคชันซิงค์ไปเมื่อเร็วๆ นี้ คุณจะทำการซิงค์บางส่วนได้โดยใช้เมธอด history.list
เพื่อแสดงระเบียนประวัติทั้งหมดที่ใหม่กว่า startHistoryId
ที่คุณระบุในคำขอ บันทึกประวัติจะแสดงรหัสข้อความและประเภทการเปลี่ยนแปลงของข้อความแต่ละรายการ เช่น ข้อความที่เพิ่ม ลบ หรือแก้ไขป้ายกำกับนับตั้งแต่เวลาที่startHistoryId
คุณสามารถรับและจัดเก็บ historyId
ของข้อความล่าสุดจากการซิงค์ทั้งหมดหรือบางส่วนเพื่อใช้เป็น startHistoryId
สำหรับการดำเนินการซิงค์บางส่วนในอนาคต
ข้อจำกัด
โดยทั่วไปแล้ว บันทึกประวัติจะพร้อมใช้งานอย่างน้อย 1 สัปดาห์และมักจะนานกว่านั้น อย่างไรก็ตาม ระยะเวลาที่บันทึกพร้อมใช้งานอาจสั้นลงอย่างมาก และบางครั้งบันทึกอาจไม่พร้อมใช้งานในบางกรณี หากstartHistoryId
ที่ไคลเอ็นต์ระบุอยู่นอกช่วงของระเบียนประวัติที่มี API จะแสดงการตอบกลับข้อผิดพลาด HTTP 404
ในกรณีนี้ ลูกค้าต้องทำการซิงค์แบบเต็มตามที่อธิบายไว้ในส่วนก่อนหน้า