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 gedacht, die in Google Drive gespeichert sind. Es bietet einen anwendungsspezifischen synchronisierbaren Speicher für 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"

FileInfo

Attribute

  • Aktion

    SyncAction optional

    Synchronisierungsaktion, die zum Auslösen des Ereignisses onFileStatusChanged durchgeführt wurde. Der Aktionswert kann 'added', 'updated' oder 'deleted' sein. Gilt nur, wenn der Status 'synced' ist.

  • direction

    SyncDirection optional

    Synchronisierungsrichtung für den Termin 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 die Namen und Pfadinformationen der synchronisierten Datei. Wenn eine Datei gelöscht wird, sind die fileEntry-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

"synced"
Nicht widersprüchlich und hat keine ausstehenden lokalen Änderungen.

"pending"
Hat mindestens eine ausstehende lokale Änderung, die noch nicht synchronisiert wurde.

"Konflikt"
Die Datei steht in Konflikt mit der Remote-Version und muss manuell gelö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. werden Daten aus der Datenbank wiederhergestellt, die Verbindung wird geprüft und die Authentifizierung beim Dienst erfolgt).

"wird ausgeführt"
Der Synchronisierungsdienst ist einsatzbereit.

"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 Informationen 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 für den Remote-Dienst hat oder beim Synchronisierungsdienst ein nicht behebbarer Fehler aufgetreten ist.

StorageInfo

Attribute

  • quotaBytes

    Zahl

  • usageBytes

    Zahl

SyncAction

Enum

„aktualisiert“

SyncDirection

Enum

"local_to_remote"

"remote_to_local"

Methoden

getConflictResolutionPolicy()

Versprechen
chrome.syncFileSystem.getConflictResolutionPolicy(
  callback?: function,
)

Ruft die aktuelle Richtlinie zur Konfliktlösung ab.

Parameter

Gibt Folgendes zurück:

  • Chrome 117 oder höher

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

getFileStatus()

Versprechen
chrome.syncFileSystem.getFileStatus(
  fileEntry: Entry,
  callback?: function,
)

Gibt das 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 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

Gibt Folgendes zurück:

  • Promise<FileStatus>

    Chrome 117 und höher

    Versprechen 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,
)

Gibt alle FileStatus für das angegebene fileEntry-Array zurück. Wird normalerweise mit dem Ergebnis von dirReader.readEntries() aufgerufen.

Parameter

  • fileEntries

    Objekt[]

  • callback

    function optional

    Der Parameter callback sieht so aus:

    (status: FileStatusInfo[]) => void

Gibt Folgendes zurück:

  • Promise<FileStatusInfo[]>

    Chrome 117 und höher

    Versprechen 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,
)

Gibt den aktuellen Status des Back-End für die Synchronisierung zurück.

Parameter

Gibt Folgendes zurück:

  • Promise<ServiceStatus>

    Chrome 117 oder höher

    Versprechen 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,
)

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

Gibt Folgendes zurück:

  • Promise<StorageInfo>

    Chrome 117 oder höher

    Promise-Objekte 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,
)

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 Methode mehrmals aus derselben App aufrufen, wird derselbe Alias an dasselbe Dateisystem zurückgegeben.

Beachten Sie, dass dieser Aufruf fehlschlagen kann. 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öher

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

setConflictResolutionPolicy()

Versprechen
chrome.syncFileSystem.setConflictResolutionPolicy(
  policy: ConflictResolutionPolicy,
  callback?: function,
)

Legt die Standardrichtlinie zur Konfliktlösung für den 'syncable'-Dateispeicher der App fest. Standardmäßig ist '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

Gibt Folgendes zurück:

  • Promise<void>

    Chrome 117 oder höher

    Promise-Objekte 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 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