Açıklama
Google Drive'da veri kaydetmek ve senkronize etmek için chrome.syncFileSystem API'sini kullanın. Bu API, Google Drive'da depolanan rastgele kullanıcı dokümanlarına erişmek için KULLANILMAZ. Aynı verilerin farklı istemcilerde kullanılabilmesi için çevrimdışı ve önbelleğe alma kullanımına yönelik uygulamaya özel senkronize edilebilir depolama alanı sağlar. Bu API'nin kullanımı hakkında daha fazla bilgi için Verileri Yönetme başlıklı makaleyi okuyun.
İzinler
syncFileSystemTürler
ConflictResolutionPolicy
Enum
"last_write_win"
"manual"
FileInfo
Özellikler
-
işlem
SyncAction isteğe bağlı
onFileStatusChangedetkinliğini tetiklemek için senkronizasyon işlemi gerçekleştirildi. İşlem değeri'added','updated'veya'deleted'olabilir. Yalnızca durum'synced'ise geçerlidir. -
direction
SyncDirection isteğe bağlı
onFileStatusChangedetkinliği için senkronizasyon yönü. Senkronizasyon yönü değeri'local_to_remote'veya'remote_to_local'olabilir. Yalnızca durum'synced'ise geçerlidir. -
fileEntry
Giriş
Durumu değişen hedef dosya için
fileEntry. Senkronize edilen dosyanın ad ve yol bilgilerini içerir. Dosya silindiğindefileEntrybilgileri kullanılabilir durumda kalır ancak dosya artık mevcut olmaz. -
durum
onFileStatusChangedetkinliğinden sonraki dosya durumu. Durum değeri'synced','pending'veya'conflicting'olabilir.
FileStatus
Enum
"synced"
Çakışma yok ve bekleyen yerel değişiklik yok.
"pending"
Senkronize edilmemiş bir veya daha fazla bekleyen yerel değişiklik var.
"conflicting"
Dosya, uzak sürümle çakışıyor ve manuel olarak çözülmesi gerekiyor.
FileStatusInfo
Özellikler
-
hata
string isteğe bağlı
Yalnızca belirtilen dosyanın FileStatus değeri alınırken sorun yaşandığında döndürülen isteğe bağlı hata.
-
fileEntry
Giriş
getFileStatuses'a başlangıçta verilen Entry'lerden biri.
-
durum
Durum değeri
'synced','pending'veya'conflicting'olabilir.
ServiceInfo
Özellikler
-
açıklama
dize
-
durum
ServiceStatus
Enum
"initializing"
Senkronizasyon hizmeti başlatılıyor (ör. veritabanından veriler geri yükleniyor, bağlantı kontrol ediliyor ve hizmette kimlik doğrulaması yapılıyor).
"running"
Senkronizasyon hizmeti çalışır durumdadır.
"authentication_required"
Senkronizasyon hizmeti, uzak hizmetin devam etmek için kullanıcı tarafından kimlik doğrulaması yapılması gerektiğinden dosyaları senkronize etmiyor.
"temporary_unavailable"
Senkronizasyon hizmeti, kurtarılabilir bazı hatalar (ör.ağın çevrimdışı olması, uzak hizmetin çalışmaması veya erişilememesi vb.) nedeniyle uzak hizmet (geçici olarak) kullanılamadığından dosyaları senkronize etmiyor. OnServiceInfoUpdated'daki description parametresiyle daha fazla ayrıntı (hizmete özel ayrıntılar içerebilir) sağlanmalıdır.
"disabled"
Senkronizasyon hizmeti devre dışı bırakılmıştır ve içerik hiçbir zaman senkronize edilmez. (Örneğin, kullanıcının uzak hizmette hesabı yoksa veya senkronizasyon hizmetinde düzeltilemeyen bir hata oluştuysa bu durum yaşanabilir.)
StorageInfo
Özellikler
-
quotaBytes
sayı
-
usageBytes
sayı
SyncAction
Enum
"eklendi"
"updated"
"silindi"
SyncDirection
Enum
"local_to_remote"
"remote_to_local"
Yöntemler
getConflictResolutionPolicy()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
): Promise<ConflictResolutionPolicy>
Mevcut çakışma çözümü politikasını alır.
Parametreler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(policy: ConflictResolutionPolicy) => void
-
policy
-
İadeler
-
Promise<ConflictResolutionPolicy>
Chrome 117 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getFileStatus()
chrome.syncFileSystem.getFileStatus(
fileEntry: Entry,
callback?: function,
): Promise<FileStatus>
Belirtilen fileEntry için FileStatus değerini döndürür. Durum değeri 'synced', 'pending' veya 'conflicting' olabilir. 'conflicting' durumu yalnızca hizmetin çakışma çözümü politikası 'manual' olarak ayarlandığında gerçekleşir.
Parametreler
-
fileEntry
Giriş
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(status: FileStatus) => void
-
durum
-
İadeler
-
Promise<FileStatus>
Chrome 117 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
): Promise<FileStatusInfo[]>
Belirtilen fileEntry dizisi için her FileStatus değerini döndürür. Genellikle dirReader.readEntries() sonucunu içeren bir çağrı alır.
Parametreler
-
fileEntries
object[]
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(status: FileStatusInfo[]) => void
-
durum
-
İadeler
-
Promise<FileStatusInfo[]>
Chrome 117 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getServiceStatus()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
): Promise<ServiceStatus>
Mevcut senkronizasyon arka uç durumunu döndürür.
Parametreler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(status: ServiceStatus) => void
-
durum
-
İadeler
-
Promise<ServiceStatus>
Chrome 117 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
): Promise<StorageInfo>
Uygulamanın 'syncable' dosya depolama alanı için mevcut kullanımı ve kotayı bayt cinsinden döndürür.
Parametreler
-
fileSystem
DOMFileSystem
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(info: StorageInfo) => void
-
bilgi
-
İadeler
-
Promise<StorageInfo>
Chrome 117 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
requestFileSystem()
chrome.syncFileSystem.requestFileSystem(
callback?: function,
): Promise<DOMFileSystem>
Google Drive tarafından desteklenen, senkronize edilebilir bir dosya sistemi döndürür. Döndürülen DOMFileSystem örneği, geçici ve kalıcı dosya sistemleriyle aynı şekilde çalıştırılabilir (bkz. http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).
Bu yöntemi aynı uygulamadan birden çok kez çağırmak, aynı dosya sistemine aynı herkese açık anahtarı döndürür.
Bu çağrının başarısız olabileceğini unutmayın. Örneğin, kullanıcı Chrome'da oturum açmamışsa veya ağ işlemi yoksa. Bu hataları ele almak için geri çağırmada chrome.runtime.lastError'ın kontrol edilmesi önemlidir.
Parametreler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:(fileSystem: DOMFileSystem) => void
-
fileSystem
DOMFileSystem
-
İadeler
-
Promise<DOMFileSystem>
Chrome 117 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
setConflictResolutionPolicy()
chrome.syncFileSystem.setConflictResolutionPolicy(
policy: ConflictResolutionPolicy,
callback?: function,
): Promise<void>
Uygulamanın 'syncable' dosya depolama alanı için varsayılan çakışma çözümü politikasını ayarlar. Varsayılan olarak 'last_write_win' değerine ayarlanır. Çakışma çözümü politikası 'last_write_win' olarak ayarlandığında, mevcut dosyalardaki çakışmalar dosya bir sonraki kez güncellendiğinde otomatik olarak çözülür. İsteğin başarılı olup olmadığını öğrenmek için isteğe bağlı olarak callback sağlanabilir.
Parametreler
-
policy
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 117 ve sonraki sürümlerPromise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
Etkinlikler
onFileStatusChanged
chrome.syncFileSystem.onFileStatusChanged.addListener(
callback: function,
)
Arka plan senkronizasyon hizmeti tarafından bir dosya güncellendiğinde tetiklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(detail: FileInfo) => void
-
detail
-
onServiceStatusChanged
chrome.syncFileSystem.onServiceStatusChanged.addListener(
callback: function,
)
Senkronizasyon arka ucunda bir hata veya başka bir durum değişikliği olduğunda (örneğin, ağ veya kimlik doğrulama hatası nedeniyle senkronizasyon geçici olarak devre dışı bırakıldığında) tetiklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(detail: ServiceInfo) => void
-
detail
-