chrome.syncFileSystem

คำอธิบาย

ใช้ chrome.syncFileSystem API เพื่อบันทึกและซิงค์ข้อมูลใน Google ไดรฟ์ API นี้ไม่ได้มีไว้สําหรับการเข้าถึงเอกสารของผู้ใช้ที่เก็บไว้ใน Google ไดรฟ์ โดยจะมีพื้นที่เก็บข้อมูลที่ซิงค์ได้เฉพาะแอปสําหรับการใช้งานแบบออฟไลน์และการแคช เพื่อให้ข้อมูลเดียวกันพร้อมใช้งานในไคลเอ็นต์ต่างๆ อ่านหัวข้อจัดการข้อมูลเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ API นี้

สิทธิ์

syncFileSystem

ประเภท

ConflictResolutionPolicy

ค่าแจกแจง

"last_write_win"

"manual"

FileInfo

พร็อพเพอร์ตี้

  • การดำเนินการ

    SyncAction ไม่บังคับ

    การดำเนินการซิงค์ที่ดําเนินการเพื่อเรียกเหตุการณ์ onFileStatusChanged ค่าการกระทําอาจเป็น 'added', 'updated' หรือ 'deleted' มีผลก็ต่อเมื่อสถานะเป็น 'synced'

  • direction

    SyncDirection ไม่บังคับ

    ทิศทางการซิงค์สําหรับเหตุการณ์ onFileStatusChanged ค่าทิศทางการซิงค์อาจเป็น 'local_to_remote' หรือ 'remote_to_local' มีผลก็ต่อเมื่อสถานะเป็น 'synced'

  • fileEntry

    รายการ

    fileEntry สำหรับไฟล์เป้าหมายที่มีสถานะเปลี่ยนแปลง มีข้อมูลชื่อและเส้นทางของไฟล์ที่ซิงค์ เมื่อลบไฟล์ ข้อมูล fileEntry จะยังคงอยู่ แต่ไฟล์จะไม่มีอยู่อีกต่อไป

  • สถานะ

    สถานะไฟล์ที่ได้หลังจากเหตุการณ์ onFileStatusChanged ค่าสถานะอาจเป็น 'synced', 'pending' หรือ 'conflicting'

FileStatus

ค่าแจกแจง

"ซิงค์แล้ว"
ไม่ขัดแย้งและไม่มีการเปลี่ยนแปลงในเครื่องที่รอดำเนินการ

"รอดำเนินการ"
มีการเปลี่ยนแปลงในเครื่องที่รอดำเนินการอย่างน้อย 1 รายการที่ยังไม่ได้ซิงค์

"conflicting"
ไฟล์ขัดแย้งกับเวอร์ชันระยะไกลและต้องแก้ไขด้วยตนเอง

FileStatusInfo

พร็อพเพอร์ตี้

  • ข้อผิดพลาด

    สตริง ไม่บังคับ

    ข้อผิดพลาดที่ไม่บังคับซึ่งจะแสดงผลก็ต่อเมื่อมีปัญหาในการดึงข้อมูล FileStatus สำหรับไฟล์ที่ระบุเท่านั้น

  • fileEntry

    รายการ

    รายการใดรายการหนึ่งที่ให้ไว้กับ getFileStatuses เดิม

  • สถานะ

    ค่าสถานะอาจเป็น 'synced', 'pending' หรือ 'conflicting'

ServiceInfo

พร็อพเพอร์ตี้

  • คำอธิบาย

    สตริง

  • รัฐ

ServiceStatus

ค่าแจกแจง

"กำลังเริ่มต้น"
บริการซิงค์กําลังเริ่มต้น (เช่น กู้คืนข้อมูลจากฐานข้อมูล ตรวจสอบการเชื่อมต่อ และตรวจสอบสิทธิ์ในบริการ เป็นต้น)

"กำลังทำงาน"
บริการซิงค์ทำงานอยู่

"authentication_required"
บริการซิงค์ไม่ได้ซิงค์ไฟล์เนื่องจากผู้ใช้ต้องตรวจสอบสิทธิ์บริการระยะไกลเพื่อดำเนินการต่อ

"temporary_unavailable"
บริการซิงค์ไม่ได้ซิงค์ไฟล์เนื่องจากบริการระยะไกลไม่พร้อมใช้งาน (ชั่วคราว) เนื่องจากข้อผิดพลาดบางอย่างที่แก้ไขได้ เช่น เครือข่ายออฟไลน์ บริการระยะไกลไม่ทำงานหรือเข้าถึงไม่ได้ ฯลฯ โปรดดูรายละเอียดเพิ่มเติมจากพารามิเตอร์ description ใน OnServiceInfoUpdated (ซึ่งอาจมีรายละเอียดเฉพาะบริการ)

"ปิดใช้"
บริการซิงค์ปิดอยู่และเนื้อหาจะไม่ซิงค์อีก (เช่น กรณีนี้อาจเกิดขึ้นเมื่อผู้ใช้ไม่มีบัญชีในบริการระยะไกลหรือบริการซิงค์มีข้อผิดพลาดที่กู้คืนไม่ได้)

StorageInfo

พร็อพเพอร์ตี้

  • quotaBytes

    ตัวเลข

  • usageBytes

    ตัวเลข

SyncAction

ค่าแจกแจง

"added"

"updated"

"deleted"

SyncDirection

ค่าแจกแจง

"local_to_remote"

"remote_to_local"

เมธอด

getConflictResolutionPolicy()

สัญญา
chrome.syncFileSystem.getConflictResolutionPolicy(
  callback?: function,
)

รับนโยบายการแก้ปัญหาความขัดแย้งปัจจุบัน

พารามิเตอร์

การคืนสินค้า

  • Chrome 117 ขึ้นไป

    ระบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getFileStatus()

สัญญา
chrome.syncFileSystem.getFileStatus(
  fileEntry: Entry,
  callback?: function,
)

แสดงผล FileStatus สำหรับ fileEntry ที่ระบุ ค่าสถานะอาจเป็น 'synced', 'pending' หรือ 'conflicting' โปรดทราบว่าสถานะ 'conflicting' จะปรากฏขึ้นก็ต่อเมื่อตั้งค่านโยบายการแก้ไขข้อขัดแย้งของบริการเป็น 'manual' เท่านั้น

พารามิเตอร์

  • fileEntry

    รายการ

  • Callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (status: FileStatus) => void

การคืนสินค้า

  • Promise<FileStatus>

    Chrome 117 ขึ้นไป

    ระบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getFileStatuses()

สัญญา
chrome.syncFileSystem.getFileStatuses(
  fileEntries: object[],
  callback?: function,
)

แสดงผล FileStatus แต่ละรายการสําหรับอาร์เรย์ fileEntry ที่ระบุ โดยปกติจะเรียกใช้พร้อมกับผลลัพธ์จาก dirReader.readEntries()

พารามิเตอร์

  • fileEntries

    object[]

  • Callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (status: FileStatusInfo[]) => void

การคืนสินค้า

  • Promise<FileStatusInfo[]>

    Chrome 117 ขึ้นไป

    ระบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getServiceStatus()

สัญญา
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)

แสดงสถานะแบ็กเอนด์การซิงค์ปัจจุบัน

พารามิเตอร์

  • Callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (status: ServiceStatus) => void

การคืนสินค้า

  • Promise<ServiceStatus>

    Chrome 117 ขึ้นไป

    ระบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getUsageAndQuota()

สัญญา
chrome.syncFileSystem.getUsageAndQuota(
  fileSystem: DOMFileSystem,
  callback?: function,
)

แสดงผลการใช้งานปัจจุบันและโควต้าเป็นไบต์สำหรับพื้นที่เก็บข้อมูลไฟล์ 'syncable' ของแอป

พารามิเตอร์

  • fileSystem

    DOMFileSystem

  • Callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (info: StorageInfo) => void

การคืนสินค้า

  • Promise<StorageInfo>

    Chrome 117 ขึ้นไป

    ระบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

requestFileSystem()

สัญญา
chrome.syncFileSystem.requestFileSystem(
  callback?: function,
)

แสดงผลระบบไฟล์ที่ซิงค์ได้ซึ่งสำรองข้อมูลโดย Google ไดรฟ์ อินสแตนซ์ DOMFileSystem ที่แสดงผลจะทำงานได้เช่นเดียวกับระบบไฟล์ชั่วคราวและถาวร (ดูที่ http://dev.w3.org/2009/dap/file-system/file-dir-sys.html)

การเรียกใช้หลายครั้งจากแอปเดียวกันจะแสดงแฮนเดิลเดียวกันในระบบไฟล์เดียวกัน

โปรดทราบว่าการเรียกใช้นี้อาจไม่สำเร็จ เช่น ในกรณีที่ผู้ใช้ไม่ได้ลงชื่อเข้าใช้ Chrome หรือไม่มีการดำเนินการทางเครือข่าย หากต้องการจัดการข้อผิดพลาดเหล่านี้ คุณต้องตรวจสอบ chrome.runtime.lastError ในคอลแบ็ก

พารามิเตอร์

  • Callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (fileSystem: DOMFileSystem) => void

    • fileSystem

      DOMFileSystem

การคืนสินค้า

  • Promise<DOMFileSystem>

    Chrome 117 ขึ้นไป

    ระบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

setConflictResolutionPolicy()

สัญญา
chrome.syncFileSystem.setConflictResolutionPolicy(
  policy: ConflictResolutionPolicy,
  callback?: function,
)

ตั้งค่านโยบายการแก้ไขข้อขัดแย้งเริ่มต้นสำหรับพื้นที่เก็บข้อมูลไฟล์ 'syncable' ของแอป โดยค่าเริ่มต้นระบบจะตั้งค่าเป็น 'last_write_win' เมื่อตั้งค่านโยบายการแก้ไขข้อขัดแย้งเป็น 'last_write_win' ระบบจะแก้ไขข้อขัดแย้งของไฟล์ที่มีอยู่โดยอัตโนมัติในครั้งถัดไปที่อัปเดตไฟล์ callback เป็นตัวเลือกที่ให้เพื่อดูว่าคําขอสําเร็จหรือไม่

พารามิเตอร์

  • Callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    () => void

การคืนสินค้า

  • Promise<void>

    Chrome 117 ขึ้นไป

    ระบบรองรับ Promises สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

กิจกรรม

onFileStatusChanged

chrome.syncFileSystem.onFileStatusChanged.addListener(
  callback: function,
)

เรียกใช้เมื่อบริการซิงค์ในเบื้องหลังอัปเดตไฟล์

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (detail: FileInfo) => void

    • รายละเอียด

onServiceStatusChanged

chrome.syncFileSystem.onServiceStatusChanged.addListener(
  callback: function,
)

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

พารามิเตอร์

  • Callback

    ฟังก์ชัน

    พารามิเตอร์ callback จะมีลักษณะดังนี้

    (detail: ServiceInfo) => void