Deskripsi
Menggunakan chrome.syncFileSystem API untuk menyimpan dan menyinkronkan data di Google Drive. API ini BUKAN untuk mengakses dokumen pengguna arbitrer yang disimpan di Google Drive. Layanan ini menyediakan penyimpanan yang dapat disinkronkan khusus aplikasi untuk penggunaan offline dan caching, sehingga data yang sama dapat tersedia di berbagai klien. Baca Mengelola Data untuk mengetahui informasi selengkapnya tentang cara menggunakan API ini.
Izin
syncFileSystemJenis
ConflictResolutionPolicy
Enum
"last_write_win"
"manual"
FileInfo
Properti
-
tindakan
SyncAction opsional
Tindakan sinkronisasi yang dilakukan untuk mengaktifkan peristiwa
onFileStatusChanged. Nilai tindakan dapat berupa'added','updated', atau'deleted'. Hanya berlaku jika statusnya'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'synced'. -
fileEntry
Entri
fileEntryuntuk file target yang statusnya telah berubah. Berisi informasi nama dan jalur file yang disinkronkan. Saat file dihapus, informasifileEntryakan 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
"synced"
Tidak bertentangan dan tidak memiliki perubahan lokal yang tertunda.
"pending"
Memiliki satu atau beberapa perubahan lokal yang tertunda dan 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 diberikan.
-
fileEntry
Entri
Salah satu Entry yang awalnya diberikan ke getFileStatuses.
-
status
Nilai status dapat berupa
'synced','pending', atau'conflicting'.
ServiceInfo
Properti
-
deskripsi
string
-
dengan status tersembunyi akhir
ServiceStatus
Enum
"initializing"
Layanan sinkronisasi sedang diinisialisasi (misalnya, memulihkan data dari database, memeriksa konektivitas, dan melakukan autentikasi ke layanan, dll.).
"running"
Layanan sinkronisasi aktif dan berjalan.
"authentication_required"
Layanan sinkronisasi tidak menyinkronkan file karena layanan jarak jauh perlu diautentikasi oleh pengguna untuk melanjutkan.
"temporary_unavailable"
Layanan sinkronisasi tidak menyinkronkan file karena layanan jarak jauh (sementara) tidak tersedia karena beberapa error yang dapat dipulihkan, misalnya jaringan offline, layanan jarak jauh tidak aktif atau tidak dapat dijangkau, dll. Detail selengkapnya harus diberikan oleh parameter description di OnServiceInfoUpdated (yang dapat berisi detail khusus layanan).
"disabled"
Layanan sinkronisasi dinonaktifkan dan konten tidak akan pernah disinkronkan. (Misalnya, hal ini dapat terjadi jika 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
"added"
"updated"
"deleted"
SyncDirection
Enum
"local_to_remote"
"remote_to_local"
Metode
getConflictResolutionPolicy()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
): Promise<ConflictResolutionPolicy>
Mendapatkan kebijakan resolusi konflik saat ini.
Parameter
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:(policy: ConflictResolutionPolicy) => void
-
kebijakan
-
Hasil
-
Promise<ConflictResolutionPolicy>
Chrome 117+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
getFileStatus()
chrome.syncFileSystem.getFileStatus(
fileEntry: Entry,
callback?: function,
): Promise<FileStatus>
Menampilkan FileStatus untuk fileEntry yang diberikan. Nilai status dapat berupa 'synced', 'pending', atau 'conflicting'. Perhatikan bahwa status 'conflicting' hanya terjadi jika kebijakan penyelesaian konflik layanan ditetapkan ke 'manual'.
Parameter
-
fileEntry
Entri
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:(status: FileStatus) => void
-
status
-
Hasil
-
Promise<FileStatus>
Chrome 117+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
): Promise<FileStatusInfo[]>
Menampilkan setiap FileStatus untuk array fileEntry yang diberikan. Biasanya dipanggil dengan hasil dari dirReader.readEntries().
Parameter
-
fileEntries
object[]
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:(status: FileStatusInfo[]) => void
-
status
-
Hasil
-
Promise<FileStatusInfo[]>
Chrome 117+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
getServiceStatus()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
): Promise<ServiceStatus>
Menampilkan status backend sinkronisasi saat ini.
Parameter
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:(status: ServiceStatus) => void
-
status
-
Hasil
-
Promise<ServiceStatus>
Chrome 117+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
): Promise<StorageInfo>
Menampilkan penggunaan dan kuota saat ini dalam byte untuk penyimpanan file 'syncable' untuk aplikasi.
Parameter
-
fileSystem
DOMFileSystem
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:(info: StorageInfo) => void
-
info
-
Hasil
-
Promise<StorageInfo>
Chrome 117+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
requestFileSystem()
chrome.syncFileSystem.requestFileSystem(
callback?: function,
): Promise<DOMFileSystem>
Menampilkan sistem file yang dapat disinkronkan dan 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 metode ini beberapa kali dari aplikasi yang sama akan menampilkan handle yang sama ke sistem file yang sama.
Perhatikan bahwa panggilan ini dapat gagal. Misalnya, jika pengguna tidak login ke Chrome atau jika tidak ada operasi jaringan. Untuk menangani error ini, chrome.runtime.lastError harus diperiksa dalam callback.
Parameter
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:(fileSystem: DOMFileSystem) => void
-
fileSystem
DOMFileSystem
-
Hasil
-
Promise<DOMFileSystem>
Chrome 117+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
setConflictResolutionPolicy()
chrome.syncFileSystem.setConflictResolutionPolicy(
policy: ConflictResolutionPolicy,
callback?: function,
): Promise<void>
Menetapkan kebijakan penyelesaian konflik default untuk penyimpanan file 'syncable' bagi aplikasi. Secara default, kebijakan ini ditetapkan ke 'last_write_win'. Jika kebijakan resolusi konflik ditetapkan ke 'last_write_win', konflik untuk file yang ada akan otomatis diselesaikan saat file diupdate berikutnya. callback dapat diberikan secara opsional untuk mengetahui apakah permintaan berhasil atau tidak.
Parameter
-
kebijakan
-
callback
fungsi opsional
Parameter
callbackterlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 117+Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain harus menggunakan callback.
Acara
onFileStatusChanged
chrome.syncFileSystem.onFileStatusChanged.addListener(
callback: function,
)
Diaktifkan saat file telah diperbarui oleh layanan sinkronisasi latar belakang.
Parameter
-
callback
fungsi
Parameter
callbackterlihat seperti:(detail: FileInfo) => void
-
detail
-
onServiceStatusChanged
chrome.syncFileSystem.onServiceStatusChanged.addListener(
callback: function,
)
Diaktifkan saat terjadi error atau perubahan status lainnya di backend sinkronisasi (misalnya, saat sinkronisasi dinonaktifkan sementara karena error jaringan atau autentikasi).
Parameter
-
callback
fungsi
Parameter
callbackterlihat seperti:(detail: ServiceInfo) => void
-
detail
-