คำอธิบาย
ใช้ 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
ค่าแจกแจง
"synced"
ไม่ขัดแย้งกันและไม่มีการเปลี่ยนแปลงในเครื่องที่รอดำเนินการ
"pending"
มีการเปลี่ยนแปลงในเครื่องที่รอดำเนินการอย่างน้อย 1 รายการซึ่งยังไม่ได้ซิงค์ข้อมูล
"conflicting"
ไฟล์ขัดแย้งกับเวอร์ชันระยะไกลและต้องแก้ไขด้วยตนเอง
FileStatusInfo
พร็อพเพอร์ตี้
-
ข้อผิดพลาด
สตริง ไม่บังคับ
ข้อผิดพลาดที่ไม่บังคับซึ่งจะแสดงผลก็ต่อเมื่อมีปัญหาในการดึงข้อมูล FileStatus สำหรับไฟล์ที่ระบุเท่านั้น
-
fileEntry
รายการ
หนึ่งใน Entry ที่ระบุไว้ในตอนแรกสำหรับ getFileStatuses
-
สถานะ
ค่าสถานะอาจเป็น
'synced','pending'หรือ'conflicting'
ServiceInfo
พร็อพเพอร์ตี้
-
คำอธิบาย
สตริง
-
รัฐ
ServiceStatus
ค่าแจกแจง
"initializing"
บริการซิงค์กำลังเริ่มต้น (เช่น การกู้คืนข้อมูลจากฐานข้อมูล การตรวจสอบการเชื่อมต่อ และการตรวจสอบสิทธิ์ในบ��ิการ เป็นต้น)
"running"
บริการซิงค์ทำงานอยู่
"authentication_required"
บริการซิงค์ไม่ซิงค์ไฟล์เนื่องจากบริการระยะไกลต้องได้รับการตรวจสอบสิทธิ์โดยผู้ใช้เพื่อดำเนินการต่อ
"temporary_unavailable"
บริการซิงค์ไม่ได้ซิงค์ไฟล์เนื่องจากบริการระยะไกลไม่พร้อมใช้งาน (ชั่วคราว) เนื่องจากข้อผิดพลาดบางอย่างที่กู้คืนได้ เช่น เครือข่ายออฟไลน์ บริการระยะไกลไม่ทำงานหรือเข้าถึงไม่ได้ เป็นต้น พารามิเตอร์ description ใน OnServiceInfoUpdated ควรให้รายละเอียดเพิ่มเติม (ซึ่งอาจมีรายละเอียดเฉพาะบริการ)
"disabled"
บริการซิงค์ปิดอยู่และเนื้อหาจะไม่ซิงค์ (เช่น กรณีนี้อาจเกิดขึ้นเมื่อผู้ใช้ไม่มีบัญชีในบริการระยะไกลหรือบริการซิงค์มีข้อผิดพลาดที่กู้คืนไม่ได้)
StorageInfo
พร็อพเพอร์ตี้
-
quotaBytes
ตัวเลข
-
usageBytes
ตัวเลข
SyncAction
ค่าแจกแจง
"เพิ่ม"
"updated"
"deleted"
SyncDirection
ค่าแจกแจง
"local_to_remote"
"remote_to_local"
เมธอด
getConflictResolutionPolicy()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
): Promise<ConflictResolutionPolicy>
รับนโยบายการแก้ปัญหาความขัดแย้งปัจจุบัน
พารามิเตอร์
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(policy: ConflictResolutionPolicy) => void
-
policy
-
การคืนสินค้า
-
Promise<ConflictResolutionPolicy>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
getFileStatus()
chrome.syncFileSystem.getFileStatus(
fileEntry: Entry,
callback?: function,
): Promise<FileStatus>
แสดงผล FileStatus สำหรับ fileEntry ที่ระบุ ค่าสถานะอาจเป็น 'synced', 'pending' หรือ 'conflicting' โปรดทราบว่าสถานะ 'conflicting' จะเกิดขึ้นเมื่อนโยบายการแก้ปัญหาความขัดแย้งของบริการตั้งค่าเป็น 'manual' เท่านั้น
พารามิเตอร์
-
fileEntry
รายการ
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(status: FileStatus) => void
-
สถานะ
-
การคืนสินค้า
-
Promise<FileStatus>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
): Promise<FileStatusInfo[]>
แสดงผล FileStatus แต่ละรายการสำหรับอาร์เรย์ fileEntry ที่ระบุ โดยปกติจะเรียกใช้พร้อมกับผลลัพธ์จาก dirReader.readEntries()
พารามิเตอร์
-
fileEntries
object[]
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(status: FileStatusInfo[]) => void
-
สถานะ
-
การคืนสินค้า
-
Promise<FileStatusInfo[]>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
getServiceStatus()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
): Promise<ServiceStatus>
แสดงสถานะแบ็กเอนด์การซิงค์ปัจจุบัน
พารามิเตอร์
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(status: ServiceStatus) => void
-
สถานะ
-
การคืนสินค้า
-
Promise<ServiceStatus>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
): Promise<StorageInfo>
แสดงผลการใช้งานปัจจุบันและโควต้าเป็นไบต์สำหรับพื้นที่เก็บข้อมูลไฟล์ 'syncable' สำหรับแอป
พารามิเตอร์
-
fileSystem
DOMFileSystem
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(info: StorageInfo) => void
-
ข้อมูล
-
การคืนสินค้า
-
Promise<StorageInfo>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
requestFileSystem()
chrome.syncFileSystem.requestFileSystem(
callback?: function,
): Promise<DOMFileSystem>
แสดงผลระบบไฟล์ที่ซิงค์ได้ซึ่งสำรองข้อมูลโดย Google ไดรฟ์ อินสแตนซ์ DOMFileSystem ที่แสดงผลสามารถทำงานได้ในลักษณะเดียวกับระบบไฟล์ชั่วคราวและถาวร (ดู http://dev.w3.org/2009/dap/file-system/file-dir-sys.html)
การเรียกใช้เมธอดนี้หลายครั้งจากแอปเดียวกันจะแสดงผลแฮนเดิลเดียวกันไปยังระบบไฟล์เดียวกัน
โปรดทราบว่าการเรียกนี้อาจไม่สำเร็จ เช่น หากผู้ใช้ไม่ได้ลงชื่อเข้าใช้ Chrome หรือไม่มีการดำเนินการของเครือข่าย หากต้องการจัดการข้อผิดพลาดเหล่านี้ คุณต้องตรวจสอบ chrome.runtime.lastError ใน Callback
พารามิเตอร์
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้(fileSystem: DOMFileSystem) => void
-
fileSystem
DOMFileSystem
-
การคืนสินค้า
-
Promise<DOMFileSystem>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
setConflictResolutionPolicy()
chrome.syncFileSystem.setConflictResolutionPolicy(
policy: ConflictResolutionPolicy,
callback?: function,
): Promise<void>
ตั้งค่านโยบายการแก้ปัญหาความขัดแย้งเริ่มต้นสำหรับพื้นที่เก็บข้อมูลไฟล์ 'syncable' ของแอป โดยค่าเริ่มต้นจะตั้งค่าเป็น 'last_write_win' เมื่อตั้งค่านโยบายการแก้ปัญหาความขัดแย้งเป็น 'last_write_win' ระบบจะแก้ปัญหาความขัดแย้งสำหรับไฟล์ที่มีอยู่โดยอัตโนมัติในครั้งถัดไปที่มีการอัปเดตไฟล์ คุณสามารถระบุ callback เพื่อให้ทราบว่าคำขอสำเร็จหรือไม่
พารามิเตอร์
-
policy
-
callback
function ไม่บังคับ
พารามิเตอร์
callbackจะมีลักษณะดังนี้() => void
การคืนสินค้า
-
Promise<void>
Chrome 117 ขึ้นไประบบรองรับ Promise สำหรับ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้ Callback
กิจกรรม
onFileStatusChanged
chrome.syncFileSystem.onFileStatusChanged.addListener(
callback: function,
)
เริ่มทำงานเมื่อบริการซิงค์ในเบื้องหลังอัปเดตไฟล์
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(detail: FileInfo) => void
-
รายละเอียด
-
onServiceStatusChanged
chrome.syncFileSystem.onServiceStatusChanged.addListener(
callback: function,
)
เริ่มทำงานเมื่อเกิดข้อผิดพลาดหรือการเปลี่ยนแปลงสถานะอื่นๆ ในแบ็กเอนด์การซิงค์ (เช่น เมื่อปิดใช้การซิงค์ชั่วคราวเนื่องจากข้อผิดพลาดของเครือข่ายหรือการตรวจสอบสิทธิ์)
พารามิเตอร์
-
callback
ฟังก์ชัน
พารามิเตอร์
callbackจะมีลักษณะดังนี้(detail: ServiceInfo) => void
-
รายละเอียด
-