Beschreibung
Verwenden Sie die chrome.syncFileSystem API, um Daten in Google Drive zu speichern und zu synchronisieren. Diese API ist NICHT für den Zugriff auf beliebige Nutzerdokumente gedacht, die in Google Drive gespeichert sind. Sie bietet App-spezifischen synchronisierbaren Speicher für die Offline- und Caching-Nutzung, sodass dieselben Daten auf verschiedenen Clients verfügbar sind. Weitere Informationen zur Verwendung dieser API finden Sie unter Daten verwalten.
Berechtigungen
syncFileSystemTypen
ConflictResolutionPolicy
Enum
"last_write_win"
"manual"
FileInfo
Attribute
-
Aktion
SyncAction optional
Synchroner Vorgang, der ausgeführt wurde, um das Ereignis
onFileStatusChangedauszulösen. 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
fileEntryfür die Zieldatei, deren Status sich geändert hat. Enthält Informationen zum Namen und Pfad der synchronisierten Datei. Wenn die Datei gelöscht wird, sind die Informationen zufileEntryweiterhin verfügbar, die Datei selbst ist jedoch nicht mehr vorhanden. -
Status
Resultierender Dateistatus nach dem Ereignis
onFileStatusChanged. Der Statuswert kann'synced','pending'oder'conflicting'sein.
FileStatus
Enum
"synced"
Keine Konflikte und keine ausstehenden lokalen Änderungen.
Ausstehend
Es gibt eine oder mehrere ausstehende lokale Änderungen, die noch nicht synchronisiert wurden.
"conflicting"
Die Datei steht im Konflikt mit der Remote-Version und muss manuell aufgelöst 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. Wiederherstellung von Daten aus der Datenbank, Prüfung der Verbindung und Authentifizierung beim Dienst).
„running“
Der Synchronisierungsdienst ist aktiv und wird ausgeführt.
"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 (z. B. Netzwerk offline, Remotedienst ausgefallen oder nicht erreichbar usw.) (vorübergehend) nicht verfügbar ist. Weitere Details sollten durch den Parameter description in OnServiceInfoUpdated angegeben werden (der dienstspezifische Details enthalten könnte).
"disabled"
Der Synchronisierungsdienst ist deaktiviert und die Inhalte werden nie synchronisiert. (Dies kann beispielsweise passieren, wenn der Nutzer kein Konto beim 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
function optional
Der Parameter
callbacksieht so aus:(policy: ConflictResolutionPolicy) => void
-
Richtlinie
-
Ausgabe
-
Promise<ConflictResolutionPolicy>
Chrome 117 oder 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
function optional
Der Parameter
callbacksieht so aus:(status: FileStatus) => void
-
Status
-
Ausgabe
-
Promise<FileStatus>
Chrome 117 oder 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 jeden FileStatus für das angegebene fileEntry-Array zurück. Wird normalerweise mit dem Ergebnis von „dirReader.readEntries()“ aufgerufen.
Parameter
-
fileEntries
object[]
-
callback
function optional
Der Parameter
callbacksieht so aus:(status: FileStatusInfo[]) => void
-
Status
-
Ausgabe
-
Promise<FileStatusInfo[]>
Chrome 117 oder 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
function optional
Der Parameter
callbacksieht so aus:(status: ServiceStatus) => void
-
Status
-
Ausgabe
-
Promise<ServiceStatus>
Chrome 117 oder 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 Kontingent in Byte für den 'syncable'-Dateispeicher der App zurück.
Parameter
-
fileSystem
DOMFileSystem
-
callback
function optional
Der Parameter
callbacksieht so aus:(info: StorageInfo) => void
-
Info
-
Ausgabe
-
Promise<StorageInfo>
Chrome 117 oder 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 in derselben App aufrufen, wird dasselbe Handle für dasselbe Dateisystem zurückgegeben.
Beachten Sie, dass dieser Aufruf fehlschlagen kann. Beispielsweise, wenn der Nutzer nicht in Chrome angemeldet ist oder kein Netzwerkvorgang stattfindet. Um diese Fehler zu beheben, muss „chrome.runtime.lastError“ im Callback geprüft werden.
Parameter
-
callback
function optional
Der Parameter
callbacksieht so aus:(fileSystem: DOMFileSystem) => void
-
fileSystem
DOMFileSystem
-
Ausgabe
-
Promise<DOMFileSystem>
Chrome 117 oder 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 Standardrichtlinie zur Konfliktlösung für den 'syncable'-Dateispeicher der App 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 gelöst, 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
-
Richtlinie
-
callback
function optional
Der Parameter
callbacksieht so aus:() => void
Ausgabe
-
Promise<void>
Chrome 117 oder 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
callbacksieht 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 ist.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(detail: ServiceInfo) => void
-
Detail
-