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 la API específicas de la unidad compartida.

recurso Files

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

  • hasAugmentedPermissions: Indica si se otorga acceso a los archivos a algún usuario directamente en este archivo.
  • capabilities/canAddFolderFromAnotherDrive: Indica si el usuario actual puede agregar una carpeta de otra unidad (unidad compartida diferente o Mi unidad) a esta carpeta.
  • capabilities/canDeleteChildren: Indica si el usuario actual puede borrar los elementos secundarios 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: La hora a la que se envió el elemento a la papelera.

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 unidad compartida en sí.
  • owners, ownerNames, ownedByMe: Los archivos dentro de una unidad compartida son propiedad de la unidad compartida, no de usuarios individuales.
  • folderColorRgb: No se pueden colorear las carpetas de forma individual.
  • shared: Todos los elementos de una unidad compartida se comparten.
  • writersCanShare: Actualmente, no es posible restringir el uso compartido por rol en las unidades compartidas.

Los siguientes campos solo se configuran cuando el usuario tiene permisos de acceso a archivos en 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: Un elemento superior no aparece en la lista de elementos 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 Permissions

El campo permissionDetails solo se propaga para los archivos ubicados en una unidad compartida. Este campo es una lista de permisos condensados que están en este archivo de unidad compartida o que hereda. 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.
  • permissions.list ahora admite la paginación.

recurso Changes

Los siguientes campos nuevos están disponibles en el recurso Changes para una unidad compartida:

  • changeType: Es 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 realizar 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.