Diferencias entre las unidades compartidas y la API de My Drive

Las unidades compartidas siguen diferentes modelos de organización, uso compartido y propiedad que los de Mi unidad. Por lo tanto, algunas operaciones de Mi unidad no se permiten para el contenido de una unidad compartida. En este documento, se describen las diferencias de las APIs específicas de Drive compartidas.

Recurso de archivo

Los siguientes campos del recurso File solo se completan para los archivos ubicados en una unidad compartida:

  • hasAugmentedPermissions: Indica si se les otorga acceso a los archivos a los usuarios directamente en este archivo.
  • capabilities/canAddFolderFromAnotherDrive: Indica si el usuario actual puede agregar una carpeta de otro viaje (un viaje compartido diferente o Mi viaje) a esta carpeta.
  • capabilities/canDeleteChildren: Indica si el usuario actual puede borrar las carpetas secundarias de esta carpeta.
  • capabilities/canMoveChildrenOutOfDrive: Indica si el usuario actual puede mover elementos secundarios de esta carpeta fuera de la unidad compartida.
  • capabilities/canMoveChildrenWithinDrive: Indica si el usuario actual puede mover elementos secundarios de esta carpeta dentro de la unidad compartida.
  • capabilities/canMoveItemWithinDrive: Indica si el usuario actual puede mover este elemento de la unidad compartida dentro de ella.
  • capabilities/canReadDrive: Indica si el usuario actual tiene acceso de lectura a la unidad compartida a la que pertenece este archivo.
  • capabilities/canTrashChildren: Indica si el usuario actual puede enviar a la papelera los elementos secundarios de esta carpeta.
  • driveId: Es el ID de la unidad compartida en la que se encuentra el archivo.
  • trashingUser: Si el archivo se envió a la papelera de forma explícita, el usuario que lo hizo.
  • trashedTime: Es la hora en que se envió el elemento a la papelera. Si usas la versión anterior de la API de Drive v2, este campo se llama trashedDate.

Los siguientes campos no se propagan para los archivos ubicados en una unidad compartida:

  • permissions: Debido al tamaño potencial de las ACL de unidades compartidas, los permisos no se muestran como parte de los archivos. Usa el método permissions.list(), que admite paginación, para enumerar los permisos de un archivo dentro de una unidad compartida o la carpeta de la unidad compartida.
  • owners, ownerNames, ownedByMe: Los archivos dentro de una unidad compartida son propiedad de la unidad compartida, no de usuarios individuales.
  • folderColorRgb: Las carpetas no se pueden colorear de forma individual.
  • shared: Todos los elementos de una unidad compartida se comparten.
  • writersCanShare: No es posible restringir el uso compartido por rol en las unidades compartidas.

Los siguientes campos solo se configuran cuando se le otorgan permisos de acceso a archivos a un elemento:

  • sharedWithMeDate
  • sharingUser

Los siguientes campos requieren una consideración especial cuando los usas con unidades compartidas:

  • parents.isRoot: Este campo solo es verdadero para la carpeta raíz de Mi unidad; es falso para la carpeta de nivel superior de la unidad compartida.
  • parents: Una unidad superior no aparece en la lista de unidades superiores si el usuario solicitante no es miembro de la unidad compartida y no tiene acceso a ella. Además, con la excepción de la carpeta de nivel superior, la lista de elementos superiores debe contener exactamente un elemento si el archivo se encuentra dentro de una unidad compartida.

  • capabilities/canRemoveChildren: Usa capabilities/canDeleteChildren o capabilities/canTrashChildren.

Recurso de permiso

El campo permissionDetails en el recurso Permission solo se propaga para los archivos ubicados en una unidad compartida. Este campo es una lista de permisos condensados que están activados o que hereda este archivo de unidad compartida. Este campo es solo de salida y solo está presente para los elementos de la unidad compartida. Además:

  • Se definieron dos roles nuevos de organizer y fileOrganizer.
  • El método permissions.list() admite la paginación.

Cambiar recursos

Los siguientes campos nuevos están disponibles en el recurso Change de una unidad compartida:

  • changeType: El tipo de cambio. Los valores posibles son file y drive.
  • driveId: Es el ID de la unidad compartida asociada con este cambio.
  • drive: Es el estado actualizado de la unidad compartida. Presente si changeType es drive y el usuario sigue siendo miembro de la unidad compartida.

Es posible que se requieran cambios adicionales para las aplicaciones que necesitan sincronizar contenido con unidades compartidas o hacer un seguimiento de la actividad. Para obtener más información, consulta Cómo hacer un seguimiento de los cambios de los usuarios y las unidades compartidas.