Beschreibung
Verwenden Sie die chrome.syncFileSystem
API, um Daten in Google Drive zu speichern und zu synchronisieren. Diese API dient NICHT dem Zugriff auf beliebige in Google Drive gespeicherte Nutzerdokumente. Sie bietet app-spezifischen synchronisierbaren Speicher für die Offlinenutzung und das Caching, damit dieselben Daten für verschiedene Clients verfügbar sind. 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
Synchrone Aktion, die zum Auslösen des Ereignisses
onFileStatusChanged
ausgeführt wurde. Der Aktionswert kann'added'
,'updated'
oder'deleted'
sein. Gilt nur, wenn der Status'synced'
ist. -
direction
SyncDirection optional
Synchronisationsrichtung für das Ereignis
onFileStatusChanged
. Der Wert für die Synchronisationsrichtung 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 den Namen und den Pfad der synchronisierten Datei. Wenn eine Datei gelöscht wird, sind diefileEntry
-Informationen weiterhin verfügbar, die Datei selbst jedoch nicht mehr. -
Status
Der resultierende Dateistatus nach dem Ereignis
onFileStatusChanged
. Der Statuswert kann'synced'
,'pending'
oder'conflicting'
sein.
FileStatus
Enum
„synchronisiert“
Enthält keine Konflikte und es gibt keine ausstehenden lokalen Änderungen.
„ausstehend“
Es gibt eine oder mehrere ausstehende lokale Änderungen, die noch nicht synchronisiert wurden.
„conflicting“
Die Datei weicht von der Remoteversion ab und muss 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 an getFileStatuses übergeben wurden.
-
Status
Der Statuswert kann
'synced'
,'pending'
oder'conflicting'
sein.
ServiceInfo
Attribute
-
Beschreibung
String
-
Bundesstaat
ServiceStatus
Enum
„initializing“
Der Synchronisierungsdienst wird initialisiert (z.B. werden Daten aus der Datenbank wiederhergestellt, die Verbindung wird geprüft und die Authentifizierung beim Dienst erfolgt).
„running“
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 Remote-Dienst aufgrund einiger wiederherstellbarer Fehler (vorübergehend) nicht verfügbar ist, z.B. wenn das Netzwerk offline ist, der Remote-Dienst ausgefallen ist oder nicht erreichbar ist. Weitere Details sollten im Parameter description
in OnServiceInfoUpdated angegeben werden (dieser kann dienstspezifische Details enthalten).
„deaktiviert“
Der Synchronisierungsdienst ist deaktiviert und die Inhalte werden nie synchronisiert. Dies kann beispielsweise der Fall sein, wenn der Nutzer kein Konto beim Remote-Dienst hat oder beim Synchronisierungsdienst ein nicht wiederherstellbarer Fehler aufgetreten ist.
StorageInfo
Attribute
-
quotaBytes
Zahl
-
usageBytes
Zahl
SyncAction
Enum
„added“
„aktualisiert“
„deleted“
SyncDirection
Enum
"local_to_remote"
"remote_to_local"
Methoden
getConflictResolutionPolicy()
chrome.syncFileSystem.getConflictResolutionPolicy(
callback?: function,
)
Die aktuelle Richtlinie zur Konfliktlösung wird abgerufen.
Parameter
-
callback
function optional
Der Parameter
callback
sieht so aus:(policy: ConflictResolutionPolicy) => void
-
policy
-
Gibt Folgendes zurück:
-
Promise<ConflictResolutionPolicy>
Chrome 117 und höherVersprechen 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,
)
Gibt die FileStatus
für die angegebene fileEntry
zurück. Der Statuswert kann 'synced'
, 'pending'
oder 'conflicting'
sein. Hinweis: Der Status 'conflicting'
tritt nur auf, wenn die Konfliktlösungsrichtlinie des Dienstes auf 'manual'
festgelegt ist.
Parameter
-
fileEntry
Eintrag
-
callback
function optional
Der Parameter
callback
sieht so aus:(status: FileStatus) => void
-
Status
-
Gibt Folgendes zurück:
-
Promise<FileStatus>
Chrome 117 und höherVersprechen 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,
)
Gibt für jedes Element des angegebenen fileEntry
-Arrays die einzelnen FileStatus
zurück. Wird in der Regel mit dem Ergebnis von dirReader.readEntries() aufgerufen.
Parameter
-
fileEntries
object[]
-
callback
function optional
Der Parameter
callback
sieht so aus:(status: FileStatusInfo[]) => void
-
Status
-
Gibt Folgendes zurück:
-
Promise<FileStatusInfo[]>
Chrome 117 und höherVersprechen 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,
)
Gibt den aktuellen Status des Synchronisierungs-Backends zurück.
Parameter
-
callback
function optional
Der Parameter
callback
sieht so aus:(status: ServiceStatus) => void
-
Status
-
Gibt Folgendes zurück:
-
Promise<ServiceStatus>
Chrome 117 und höherVersprechen 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,
)
Gibt die aktuelle Nutzung und das Kontingent in Byte für den 'syncable'
-Dateispeicher der App zurück.
Parameter
-
fileSystem
DOMFileSystem
-
callback
function optional
Der Parameter
callback
sieht so aus:(info: StorageInfo) => void
-
Info
-
Gibt Folgendes zurück:
-
Promise<StorageInfo>
Chrome 117 und höherVersprechen 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,
)
Gibt ein synchronisierbares Dateisystem zurück, das von Google Drive unterstützt wird. Die zurückgegebene DOMFileSystem
-Instanz kann auf die gleiche Weise wie die temporären und dauerhaften Dateisysteme verwendet werden (siehe http://dev.w3.org/2009/dap/file-system/file-dir-sys.html).
Wenn Sie diese Funktion mehrmals von derselben App aus aufrufen, wird derselbe Handle für dasselbe Dateisystem zurückgegeben.
Hinweis: Dieser Aufruf kann fehlschlagen. Das ist beispielsweise der Fall, wenn der Nutzer nicht in Chrome angemeldet ist oder keine Netzwerkverbindung besteht. Um diese Fehler zu verarbeiten, ist es wichtig, dass im Rückruf chrome.runtime.lastError geprüft wird.
Parameter
-
callback
function optional
Der Parameter
callback
sieht so aus:(fileSystem: DOMFileSystem) => void
-
fileSystem
DOMFileSystem
-
Gibt Folgendes zurück:
-
Promise<DOMFileSystem>
Chrome 117 und höherVersprechen 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,
)
Hiermit wird die Standardrichtlinie für die Konfliktlösung für den 'syncable'
-Dateispeicher der App festgelegt. Standardmäßig ist sie auf 'last_write_win'
festgelegt. Wenn die Richtlinie zur Konfliktlösung auf 'last_write_win'
festgelegt ist, werden Konflikte bei vorhandenen Dateien beim nächsten Aktualisieren der Datei automatisch behoben. callback
kann optional angegeben werden, um zu erfahren, ob die Anfrage erfolgreich war oder nicht.
Parameter
-
policy
-
callback
function optional
Der Parameter
callback
sieht so aus:() => void
Gibt Folgendes zurück:
-
Promise<void>
Chrome 117 und höherVersprechen 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 ein Fehler oder eine andere Statusänderung im Synchronisierungs-Backend aufgetreten ist, z. B. wenn die Synchronisierung aufgrund eines Netzwerk- oder Authentifizierungsfehlers vorübergehend deaktiviert ist.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(detail: ServiceInfo) => void
-
Detail
-