chrome.syncFileSystem

Deskripsi

Gunakan chrome.syncFileSystem API untuk menyimpan dan menyinkronkan data di Google Drive. API ini BUKAN untuk mengakses dokumen pengguna arbitrer yang disimpan di Google Drive. Google Cloud menyediakan penyimpanan yang dapat disinkronkan khusus aplikasi untuk penggunaan offline dan cache, sehingga data yang sama dapat tersedia di klien yang berbeda. Baca Mengelola Data untuk informasi selengkapnya tentang cara menggunakan API ini.

Izin

syncFileSystem

Jenis

ConflictResolutionPolicy

Enum

"last_write_win"

"manual"

FileInfo

Properti

  • action

    SyncAction opsional

    Tindakan sinkronisasi yang diambil untuk mengaktifkan peristiwa onFileStatusChanged. Nilai tindakan dapat berupa 'added', 'updated', atau 'deleted'. Hanya berlaku jika statusnya adalah 'synced'.

  • direction

    SyncDirection opsional

    Arah sinkronisasi untuk peristiwa onFileStatusChanged. Nilai arah sinkronisasi dapat berupa 'local_to_remote' atau 'remote_to_local'. Hanya berlaku jika statusnya adalah 'synced'.

  • fileEntry

    Entri

    fileEntry untuk file target yang statusnya telah berubah. Berisi informasi nama dan jalur file yang disinkronkan. Pada penghapusan file, informasi fileEntry akan tetap tersedia, tetapi file tidak akan ada lagi.

  • status

    Status file yang dihasilkan setelah peristiwa onFileStatusChanged. Nilai status dapat berupa 'synced', 'pending', atau 'conflicting'.

FileStatus

Enum

"disinkronkan"
Tidak bertentangan dan tidak memiliki perubahan lokal yang tertunda.

"pending"
Memiliki satu atau beberapa perubahan lokal yang tertunda yang belum disinkronkan.

"Conflicting"
File bertentangan dengan versi jarak jauh dan harus diselesaikan secara manual.

FileStatusInfo

Properti

  • error

    string opsional

    Error opsional yang hanya ditampilkan jika ada masalah saat mengambil FileStatus untuk file yang ditentukan.

  • fileEntry

    Entri

    Salah satu Entri yang awalnya diberikan ke getFileStatuses.

  • status

    Nilai status dapat berupa 'synced', 'pending', atau 'conflicting'.

ServiceInfo

Properti

ServiceStatus

Enum

"inisialisasi"
Layanan sinkronisasi sedang diinisialisasi (misalnya memulihkan data dari database, memeriksa konektivitas, dan mengautentikasi ke layanan, dll.).

"berjalan"
Layanan sinkronisasi aktif dan berjalan.

"authentication_required"
Layanan sinkronisasi tidak menyinkronkan file karena layanan jarak jauh harus diautentikasi oleh pengguna untuk melanjutkan.

"temporary_unavailable"
Layanan sinkronisasi tidak menyinkronkan file karena layanan jarak jauh (untuk sementara) tidak tersedia karena beberapa error yang dapat dipulihkan, misalnya jaringan sedang offline, layanan jarak jauh tidak dapat dijangkau atau tidak dapat dijangkau, dll. Detail selengkapnya harus diberikan oleh parameter description di OnServiceInfoUpdated (yang dapat berisi detail khusus layanan).

"dinonaktifkan"
Layanan sinkronisasi dinonaktifkan dan konten tidak akan pernah disinkronkan. (Misalnya, hal ini dapat terjadi saat pengguna tidak memiliki akun di layanan jarak jauh atau layanan sinkronisasi mengalami error yang tidak dapat dipulihkan.)

StorageInfo

Properti

  • quotaBytes

    angka

  • usageBytes

    angka

SyncAction

Enum

"ditambahkan"

"diupdate"

"dihapus"

SyncDirection

Enum

"local_to_remote"

"remote_to_local"

Metode

getConflictResolutionPolicy()

Janji
chrome.syncFileSystem.getConflictResolutionPolicy(
  callback?: function,
)

Mendapatkan kebijakan resolusi konflik saat ini.

Parameter

Hasil

  • Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

getFileStatus()

Janji
chrome.syncFileSystem.getFileStatus(
  fileEntry: Entry,
  callback?: function,
)

Menampilkan FileStatus untuk fileEntry yang ditentukan. Nilai status dapat berupa 'synced', 'pending', atau 'conflicting'. Perlu diperhatikan bahwa status 'conflicting' hanya terjadi jika kebijakan penyelesaian konflik layanan disetel ke 'manual'.

Parameter

  • fileEntry

    Entri

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (status: FileStatus) => void

Hasil

  • Promise<FileStatus>

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

getFileStatuses()

Janji
chrome.syncFileSystem.getFileStatuses(
  fileEntries: object[],
  callback?: function,
)

Menampilkan setiap FileStatus untuk array fileEntry yang ditentukan. Biasanya dipanggil dengan hasil dari dirReader.readEntries().

Parameter

  • fileEntries

    object[]

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (status: FileStatusInfo[]) => void

Hasil

  • Promise<FileStatusInfo[]>

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

getServiceStatus()

Janji
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)

Menampilkan status backend sinkronisasi saat ini.

Parameter

Hasil

  • Promise<ServiceStatus>

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

getUsageAndQuota()

Janji
chrome.syncFileSystem.getUsageAndQuota(
  fileSystem: DOMFileSystem,
  callback?: function,
)

Menampilkan penggunaan dan kuota saat ini dalam byte untuk penyimpanan file 'syncable' aplikasi.

Parameter

  • fileSystem

    DOMFileSystem

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (info: StorageInfo) => void

Hasil

  • Promise<StorageInfo>

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

requestFileSystem()

Janji
chrome.syncFileSystem.requestFileSystem(
  callback?: function,
)

Menampilkan sistem file yang dapat disinkronkan yang didukung oleh Google Drive. Instance DOMFileSystem yang ditampilkan dapat dioperasikan dengan cara yang sama seperti sistem file Sementara dan Persisten (lihat http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).

Memanggil ini beberapa kali dari aplikasi yang sama akan menampilkan handle yang sama ke sistem file yang sama.

Perlu diperhatikan bahwa panggilan ini bisa gagal. Misalnya, jika pengguna tidak login ke Chrome atau jika tidak ada operasi jaringan. Untuk menangani error ini, chrome.runtime.lastError harus diperiksa di callback.

Parameter

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (fileSystem: DOMFileSystem) => void

    • fileSystem

      DOMFileSystem

Hasil

  • Promise<DOMFileSystem>

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

setConflictResolutionPolicy()

Janji
chrome.syncFileSystem.setConflictResolutionPolicy(
  policy: ConflictResolutionPolicy,
  callback?: function,
)

Menetapkan kebijakan resolusi konflik default bagi penyimpanan file 'syncable' untuk aplikasi. Secara default, nilai ini disetel ke 'last_write_win'. Jika kebijakan resolusi konflik disetel ke 'last_write_win', konflik untuk file yang ada akan otomatis diselesaikan saat file diperbarui lagi. callback dapat diberikan secara opsional untuk mengetahui apakah permintaan berhasil atau tidak.

Parameter

Hasil

  • Janji<void>

    Chrome 117 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

Acara

onFileStatusChanged

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

Diaktifkan saat file telah diupdate oleh layanan sinkronisasi latar belakang.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (detail: FileInfo) => void

onServiceStatusChanged

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

Diaktifkan jika terjadi error atau perubahan status lainnya pada backend sinkronisasi (misalnya, saat sinkronisasi dinonaktifkan untuk sementara karena error jaringan atau autentikasi).

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (detail: ServiceInfo) => void