Beschreibung
Mit der chrome.syncFileSystem
API können Sie Daten in Google Drive speichern und synchronisieren. Diese API ist NICHT für den Zugriff auf beliebige Nutzerdokumente, die in Google Drive gespeichert sind, vorgesehen. Es bietet app-spezifischen synchronisierbaren Speicher für die Offline- und Cachenutzung, sodass dieselben Daten auf verschiedenen Clients verfügbar sein können. Weitere Informationen zur Verwendung dieser API finden Sie unter Daten verwalten.
Berechtigungen
syncFileSystem
Typen
ConflictResolutionPolicy
Enum
"last_write_win"
„manual“
FileInfo
Attribute
-
Aktion
SyncAction optional
Synchroner Vorgang, der zum Auslösen des
onFileStatusChanged
-Ereignisses ausgeführt wurde. Der Aktionswert kann'added'
,'updated'
oder'deleted'
sein. Gilt nur, wenn der Status'synced'
ist. -
direction
SyncDirection optional
Synchronisierungsrichtung für das Ereignis
onFileStatusChanged
. Der Wert für die Synchronisierungsrichtung kann'local_to_remote'
oder'remote_to_local'
sein. Gilt nur, wenn der Status'synced'
ist. -
fileEntry
Eintrag
fileEntry
für die Zieldatei, deren Status sich geändert hat. Enthält Informationen zum Namen und Pfad der synchronisierten Datei. Nach dem Löschen der Datei sind diefileEntry
-Informationen weiterhin verfügbar, die Datei selbst jedoch nicht mehr. -
Status
Dateistatus nach dem Ereignis
onFileStatusChanged
. Der Statuswert kann'synced'
,'pending'
oder'conflicting'
sein.
FileStatus
Enum
Synchronisiert
Keine Konflikte und keine ausstehenden lokalen Änderungen.
Ausstehend
Es sind eine oder mehrere lokale Änderungen ausstehend, die noch nicht synchronisiert wurden.
„conflicting“
Dateikonflikte mit der Remote-Version müssen manuell behoben werden.
FileStatusInfo
Attribute
-
Fehler
String optional
Optionaler Fehler, der nur zurückgegeben wird, wenn beim Abrufen des FileStatus für die angegebene Datei ein Problem aufgetreten ist.
-
fileEntry
Eintrag
Einer der Einträge, die ursprünglich für getFileStatuses angegeben wurden.
-
Status
Der Statuswert kann
'synced'
,'pending'
oder'conflicting'
sein.
ServiceInfo
Attribute
-
Beschreibung
String
-
Bundesstaat
ServiceStatus
Enum
Wird initialisiert
Der Synchronisierungsdienst wird initialisiert, z.B. durch Wiederherstellen von Daten aus der Datenbank, Prüfen der Verbindung und Authentifizierung beim Dienst.
Wird ausgeführt
Der Synchronisierungsdienst ist aktiv.
„authentication_required“
Der Synchronisierungsdienst synchronisiert keine Dateien, da der Remote-Dienst vom Nutzer authentifiziert werden muss, um fortzufahren.
„temporary_unavailable“
Der Synchronisierungsdienst synchronisiert keine Dateien, da der Remotedienst aufgrund einiger behebbarer Fehler (vorübergehend) nicht verfügbar ist, z.B. wenn das Netzwerk offline ist, der Remotedienst nicht funktioniert oder nicht erreichbar ist. Weitere Informationen sollten durch den Parameter description
in OnServiceInfoUpdated angegeben werden (der dienstspezifische Details enthalten kann).
„disabled“
Der Synchronisierungsdienst ist deaktiviert und die Inhalte werden nie synchronisiert. Das kann beispielsweise passieren, wenn der Nutzer kein Konto für den Remotedienst hat oder beim Synchronisierungsdienst ein nicht behebbarer Fehler aufgetreten ist.
StorageInfo
Attribute
-
quotaBytes
Zahl
-
usageBytes
Zahl
SyncAction
Enum
"added"
"updated"
„deleted“
SyncDirection
Enum
"local_to_remote"
"remote_to_local"
Methoden
getConflictResolutionPolicy()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
): Promise<ConflictResolutionPolicy>
Ruft die aktuelle Richtlinie zur Konfliktlösung ab.
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(policy: ConflictResolutionPolicy) => void
-
policy
-
Ausgabe
-
Promise<ConflictResolutionPolicy>
Chrome 117 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getFileStatus()
chrome.syncFileSystem.getFileStatus(
fileEntry: Entry,
callback?: function,
): Promise<FileStatus>
Gibt die FileStatus
für die angegebene fileEntry
zurück. Der Statuswert kann 'synced'
, 'pending'
oder 'conflicting'
sein. Der Status 'conflicting'
tritt nur auf, wenn die Richtlinie zur Konfliktlösung des Dienstes auf 'manual'
festgelegt ist.
Parameter
-
fileEntry
Eintrag
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(status: FileStatus) => void
-
Status
-
Ausgabe
-
Promise<FileStatus>
Chrome 117 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getFileStatuses()
chrome.syncFileSystem.getFileStatuses(
fileEntries: object[],
callback?: function,
): Promise<FileStatusInfo[]>
Gibt jedes FileStatus
für das angegebene fileEntry
-Array zurück. Wird in der Regel mit dem Ergebnis von dirReader.readEntries() aufgerufen.
Parameter
-
fileEntries
object[]
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(status: FileStatusInfo[]) => void
-
Status
-
Ausgabe
-
Promise<FileStatusInfo[]>
Chrome 117 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getServiceStatus()
chrome.syncFileSystem.getServiceStatus(
callback?: function,
): Promise<ServiceStatus>
Gibt den aktuellen Status des Synchronisierungs-Back-Ends zurück.
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(status: ServiceStatus) => void
-
Status
-
Ausgabe
-
Promise<ServiceStatus>
Chrome 117 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
getUsageAndQuota()
chrome.syncFileSystem.getUsageAndQuota(
fileSystem: DOMFileSystem,
callback?: function,
): Promise<StorageInfo>
Gibt die aktuelle Nutzung und das aktuelle Kontingent in Byte für den 'syncable'
-Dateispeicher der App zurück.
Parameter
-
fileSystem
DOMFileSystem
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(info: StorageInfo) => void
-
Info
-
Ausgabe
-
Promise<StorageInfo>
Chrome 117 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
requestFileSystem()
chrome.syncFileSystem.requestFileSystem(
callback?: function,
): Promise<DOMFileSystem>
Gibt ein synchronisierbares Dateisystem zurück, das von Google Drive unterstützt wird. Die zurückgegebene DOMFileSystem
-Instanz kann auf dieselbe Weise wie die temporären und persistenten Dateisysteme verwendet werden (siehe http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).
Wenn Sie diese Funktion mehrmals über dieselbe App aufrufen, wird dasselbe Handle für dasselbe Dateisystem zurückgegeben.
Dieser Aufruf kann fehlschlagen. Das kann beispielsweise der Fall sein, wenn der Nutzer nicht in Chrome angemeldet ist oder kein Netzwerkvorgang stattfindet. Um diese Fehler zu beheben, ist es wichtig, dass chrome.runtime.lastError im Callback geprüft wird.
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(fileSystem: DOMFileSystem) => void
-
fileSystem
DOMFileSystem
-
Ausgabe
-
Promise<DOMFileSystem>
Chrome 117 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
setConflictResolutionPolicy()
chrome.syncFileSystem.setConflictResolutionPolicy(
policy: ConflictResolutionPolicy,
callback?: function,
): Promise<void>
Legt die standardmäßige Richtlinie zur Konfliktlösung für die Dateispeicherung der App in 'syncable'
fest. Standardmäßig ist sie auf 'last_write_win'
festgelegt. Wenn die Richtlinie zur Konfliktlösung auf 'last_write_win'
festgelegt ist, werden Konflikte für vorhandene Dateien automatisch behoben, wenn die Datei das nächste Mal aktualisiert wird. callback
kann optional angegeben werden, um zu erfahren, ob die Anfrage erfolgreich war oder nicht.
Parameter
-
policy
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 117 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.
Ereignisse
onFileStatusChanged
chrome.syncFileSystem.onFileStatusChanged.addListener(
callback: function,
)
Wird ausgelöst, wenn eine Datei vom Hintergrundsynchronisierungsdienst aktualisiert wurde.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(detail: FileInfo) => void
-
Detail
-
onServiceStatusChanged
chrome.syncFileSystem.onServiceStatusChanged.addListener(
callback: function,
)
Wird ausgelöst, wenn im Synchronisierungs-Backend ein Fehler oder eine andere Statusänderung aufgetreten ist, z. B. wenn die Synchronisierung aufgrund eines Netzwerk- oder Authentifizierungsfehlers vorübergehend deaktiviert wurde.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(detail: ServiceInfo) => void
-
Detail
-