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