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