การซิงค์ไคลเอ็นต์กับ 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 ในกรณีนี้ ลูกค้าของคุณต้องทำการซิงค์แบบเต็มตามที่อธิบายไว้ในส่วนก่อนหน้า