chrome.syncFileSystem

คำอธิบาย

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

สิทธิ์

syncFileSystem

ประเภท

ConflictResolutionPolicy

ค่าแจกแจง

"last_write_win"

FileInfo

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

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

    SyncAction ไม่บังคับ

    ดำเนินการซิงค์เพื่อให้เหตุการณ์ onFileStatusChanged เริ่มทำงาน ค่าการกระทำอาจเป็น 'added', 'updated' หรือ 'deleted' ใช้เมื่อสถานะเป็น 'synced' เท่านั้น

  • direction

    SyncDirection ไม่บังคับ

    ซิงค์ทิศทางสำหรับกิจกรรม onFileStatusChanged ค่าทิศทางการซิงค์อาจเป็น 'local_to_remote' หรือ 'remote_to_local' ใช้เมื่อสถานะเป็น 'synced' เท่านั้น

  • fileEntry

    ตั๋วเข้าชม

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

  • status

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

FileStatus

ค่าแจกแจง

"synced"
ไม่ขัดแย้งกันและไม่มีการเปลี่ยนแปลงในระบบที่รอดำเนินการ

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

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

FileStatusInfo

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

  • error

    string ไม่บังคับ

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

  • fileEntry

    ตั๋วเข้าชม

    หนึ่งในรายการมอบให้กับ getFileStatuses ในตอนแรก

  • status

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

ServiceInfo

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

ServiceStatus

ค่าแจกแจง

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

"running"
บริการซิงค์ทำงานแล้ว

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

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

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

StorageInfo

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

  • quotaBytes

    ตัวเลข

  • usageBytes

    ตัวเลข

SyncAction

ค่าแจกแจง

SyncDirection

ค่าแจกแจง

"local_to_remote"

"remote_to_local"

วิธีการ

getConflictResolutionPolicy()

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

รับนโยบายการแก้ไขข้อขัดแย้งปัจจุบัน

พารามิเตอร์

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

  • Chrome 117 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ 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 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

getFileStatuses()

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

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

พารามิเตอร์

  • fileEntries

    ออบเจ็กต์[]

  • Callback

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

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

    (status: FileStatusInfo[])=>void

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

  • Promise<FileStatusInfo[]>

    Chrome 117 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

getServiceStatus()

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

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

พารามิเตอร์

  • Callback

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

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

    (status: ServiceStatus)=>void

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

  • Promise<ServiceStatus>

    Chrome 117 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ

getUsageAndQuota()

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

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

พารามิเตอร์

  • fileSystem

    DOMFileSystem

  • Callback

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

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

    (info: StorageInfo)=>void

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

  • Promise<StorageInfo>

    Chrome 117 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ 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 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ 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 ขึ้นไป

    Promiss รองรับเฉพาะไฟล์ 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