เอกสารนี้อธิบายวิธีซิงค์ไคลเอ็นต์โดยใช้ Gmail API
การซิงค์ไคลเอ็นต์กับ Gmail เป็นสิ่งสำคัญสำหรับสถานการณ์แอปส่วนใหญ่ การซิงค์มี 2 วิธี ได้แก่ การซิงค์แบบเต็มและการซิงค์บางส่วน คุณต้องทำการซิงค์แบบเต็มในครั้งแรกที่ไคลเอ็นต์เชื่อมต่อกับ Gmail และในบางสถานการณ์ที่พบได้ยากอื่นๆ หากไคลเอ็นต์ของคุณซิงค์เมื่อเร็วๆ นี้ การซิงค์บางส่วนจะเป็นทางเลือกที่มีน้ำหนักเบากว่า การซิงค์แบบเต็ม นอกจากนี้ คุณยังใช้การแจ้งเตือนแบบพุชเพื่อทริกเกอร์การซิงค์บางส่วน แบบเรียลไทม์และเฉพาะเมื่อจำเป็นเท่านั้นได้ด้วย ซึ่งจะช่วยหลีกเลี่ยงการ สำรวจที่ไม่จำเป็น
การซิงค์ทั้งหมด
เมื่อแอปเชื่อมต่อกับ Gmail เป็นครั้งแรก หรือหากการซิงค์บางส่วนไม่พร้อมใช้งาน คุณต้องทำการซิงค์แบบเต็ม ในการดำเนินการซิงค์แบบเต็ม แอปของคุณควรดึงและจัดเก็บข้อความหรือเธรดล่าสุดให้มากที่สุดเท่าที่จำเป็นสำหรับวัตถุประสงค์ของคุณ เช่น หากแอปแสดงรายการข้อความล่าสุด คุณอาจต้องการดึงและแคชข้อความให้เพียงพอเพื่อให้อินเทอร์เฟซตอบสนองได้หากผู้ใช้เลื่อนดูข้อความที่แสดงหลังจากข้อความแรกๆ
ทำตามขั้นตอนต่อไปนี้เพื่อทำการซิงค์แบบเต็ม
เรียกใช้เมธอด
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การตอบกลับข้อผิดพลาด
ในกรณีนี้ ลูกค้าของคุณต้องทำการซิงค์แบบเต็ม