chrome.syncFileSystem

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 die fileEntry-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

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()

Promise
chrome.syncFileSystem.getConflictResolutionPolicy(
  callback?: function,
)
: Promise<ConflictResolutionPolicy>

Ruft die aktuelle Richtlinie zur Konfliktlösung ab.

Parameter

Ausgabe

  • Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getFileStatus()

Promise
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

Ausgabe

  • Promise<FileStatus>

    Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getFileStatuses()

Promise
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

Ausgabe

  • Promise<FileStatusInfo[]>

    Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getServiceStatus()

Promise
chrome.syncFileSystem.getServiceStatus(
  callback?: function,
)
: Promise<ServiceStatus>

Gibt den aktuellen Status des Synchronisierungs-Back-Ends zurück.

Parameter

Ausgabe

  • Promise<ServiceStatus>

    Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

getUsageAndQuota()

Promise
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

Ausgabe

  • Promise<StorageInfo>

    Chrome 117 und höher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

requestFileSystem()

Promise
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öher

    Promises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden.

setConflictResolutionPolicy()

Promise
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

Ausgabe

  • Promise<void>

    Chrome 117 und höher

    Promises 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

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