Unterschiede zwischen geteilten Ablagen und My Drive API

Geteilte Ablagen folgen anderen Organisations-, Freigabe- und Eigentumsmodellen als „Meine Ablage“. Daher sind einige „Meine Ablage“-Vorgänge für Inhalte in einer geteilten Ablage nicht zulässig. In diesem Dokument werden spezifische API-Unterschiede für freigegebene Laufwerke beschrieben.

Dateiressource

Die folgenden Felder in der File-Ressource werden nur für Dateien in einer geteilten Ablage ausgefüllt:

  • hasAugmentedPermissions: Gibt an, ob Nutzern direkt Dateizugriff auf diese Datei gewährt wird.
  • capabilities/canAddFolderFromAnotherDrive: Gibt an, ob der aktuelle Nutzer diesem Ordner einen Ordner aus einer anderen geteilten Ablage oder aus „Meine Ablage“ hinzufügen kann.
  • capabilities/canDeleteChildren: Gibt an, ob der aktuelle Nutzer untergeordnete Elemente dieses Ordners löschen kann.
  • capabilities/canMoveChildrenOutOfDrive: Gibt an, ob der aktuelle Nutzer untergeordnete Elemente dieses Ordners außerhalb der geteilten Ablage verschieben kann.
  • capabilities/canMoveChildrenWithinDrive: Gibt an, ob der aktuelle Nutzer untergeordnete Elemente dieses Ordners innerhalb der geteilten Ablage verschieben kann.
  • capabilities/canMoveItemWithinDrive: Gibt an, ob der aktuelle Nutzer dieses Element der geteilten Ablage innerhalb der geteilten Ablage verschieben kann.
  • capabilities/canReadDrive: Gibt an, ob der aktuelle Nutzer Lesezugriff auf das freigegebene Laufwerk hat, zu dem diese Datei gehört.
  • capabilities/canTrashChildren: Gibt an, ob der aktuelle Nutzer untergeordnete Elemente dieses Ordners in den Papierkorb verschieben kann.
  • driveId: Die ID des freigegebenen Laufwerks, in dem sich die Datei befindet.
  • trashingUser: Wenn die Datei explizit in den Papierkorb verschoben wurde, der Nutzer, der sie dorthin verschoben hat.
  • trashedTime: Die Uhrzeit, zu der der Artikel in den Papierkorb verschoben wurde. Wenn Sie die ältere Drive API v2 verwenden, heißt dieses Feld trashedDate.

Die folgenden Felder werden für Dateien in einer geteilten Ablage nicht ausgefüllt:

  • permissions: Aufgrund der potenziellen Größe von ACLs für freigegebene Laufwerke werden Berechtigungen nicht als Teil von Dateien zurückgegeben. Verwenden Sie die Methode permissions.list(), die die Paginierung unterstützt, um Berechtigungen für eine Datei in einer geteilten Ablage oder im Ordner einer geteilten Ablage aufzulisten.
  • owners, ownerNames, ownedByMe: Die Inhaber von Dateien in einer geteilten Ablage sind nicht die einzelnen Nutzer, sondern die geteilte Ablage selbst.
  • folderColorRgb: Ordner können nicht einzeln eingefärbt werden.
  • shared: Alle Elemente in einer geteilten Ablage werden freigegeben.
  • writersCanShare: Die Freigabe kann in freigegebenen Ablagen nicht nach Rolle eingeschränkt werden.

Die folgenden Felder werden nur festgelegt, wenn dem Nutzer Dateizugriffsberechtigungen für ein Element gewährt wurden:

  • sharedWithMeDate
  • sharingUser

Bei der Verwendung der folgenden Felder mit freigegebenen Laufwerken ist besondere Vorsicht geboten:

  • parents.isRoot: Dieses Feld ist nur für den Stammordner „Meine Ablage“ wahr. Für den obersten Ordner der geteilten Ablage ist es falsch.
  • parents: Ein übergeordnetes Element wird nicht in der Liste der übergeordneten Elemente angezeigt, wenn der anfragende Nutzer kein Mitglied der freigegebenen Ablage ist und keinen Zugriff auf das übergeordnete Element hat. Außerdem muss die Liste der übergeordneten Elemente mit Ausnahme des Ordners der obersten Ebene genau einen Eintrag enthalten, wenn sich die Datei in einer freigegebenen Ablage befindet.

  • capabilities/canRemoveChildren: Verwenden Sie capabilities/canDeleteChildren oder capabilities/canTrashChildren.

Berechtigungsressource

Das Feld permissionDetails in der Ressource Permission wird nur für Dateien in einer geteilten Ablage ausgefüllt. Dieses Feld enthält eine Liste der zusammengefassten Berechtigungen, die für diese Datei in der geteilten Ablage aktiviert oder übernommen wurden. Dieses Feld ist nur ein Ausgabefeld und ist nur für Elemente in freigegebenen Ablagen vorhanden. Außerdem gilt:

  • Es wurden zwei neue Rollen definiert: organizer und fileOrganizer.
  • Die permissions.list()-Methode unterstützt die Paginierung.

Ressource ändern

Die folgenden neuen Felder sind in der Change-Ressource für eine geteilte Ablage verfügbar:

  • changeType: Der Änderungstyp. Mögliche Werte sind file und drive.
  • driveId: Die ID der geteilten Ablage, die mit dieser Änderung verknüpft ist.
  • drive: Der aktualisierte Status des freigegebenen Laufwerks. Wird angezeigt, wenn changeType drive ist und der Nutzer noch Mitglied der geteilten Ablage ist.

Für Anwendungen, die Inhalte mit freigegebenen Laufwerken synchronisieren oder Aktivitäten erfassen müssen, sind möglicherweise zusätzliche Änderungen erforderlich. Weitere Informationen finden Sie unter Änderungen für Nutzer und geteilte Ablagen im Blick behalten.