การซิงค์ไคลเอ็นต์กับ Gmail

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

เนื้อหา

การซิงค์ทั้งหมด

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

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

การซิงค์บางส่วน

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

ข้อจำกัด

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