chrome.syncFileSystem

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

syncFileSystem

Typen

ConflictResolutionPolicy

Enum

"last_write_win"

"manual"

FileInfo

Attribute

  • Aktion

    SyncAction optional

    Synchroner Vorgang, der ausgeführt wurde, um das Ereignis onFileStatusChanged auszulö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

    fileEntry fü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 zu fileEntry weiterhin 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

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

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

Ruft die aktuelle Richtlinie zur Konfliktlösung ab.

Parameter

Ausgabe

  • Chrome 117 oder 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

    function optional

    Der Parameter callback sieht so aus:

    (status: FileStatus) => void

Ausgabe

  • Promise<FileStatus>

    Chrome 117 oder 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 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 callback sieht so aus:

    (status: FileStatusInfo[]) => void

Ausgabe

  • Promise<FileStatusInfo[]>

    Chrome 117 oder 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 oder 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 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

Ausgabe

  • Promise<StorageInfo>

    Chrome 117 oder 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 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 callback sieht so aus:

    (fileSystem: DOMFileSystem) => void

    • fileSystem

      DOMFileSystem

Ausgabe

  • Promise<DOMFileSystem>

    Chrome 117 oder 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 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

Ausgabe

  • Promise<void>

    Chrome 117 oder 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 ist.

Parameter