Diferencias entre las unidades compartidas y la API de My Drive

Las unidades compartidas siguen modelos diferentes de organización, uso compartido y propiedad que Mi unidad. Por lo tanto, algunas operaciones de Mi unidad no se permiten para el contenido de una unidad compartida.

En esta guía, se describen las diferencias específicas de la API de unidades compartidas en los recursos files y changes.

Recurso de archivo

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

  • hasAugmentedPermissions: Indica si algún usuario tiene acceso directo al archivo.
  • capabilities/canAddFolderFromAnotherDrive: Indica si el usuario actual puede agregar una carpeta de otra unidad (una 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 los 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 la unidad compartida.
  • 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 descartar 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ó explícitamente a la papelera, el usuario que lo hizo.
  • trashedTime: Es la fecha y hora en que se descartó el elemento. Si usas la versión 2 anterior de la API de Drive, este campo se llama trashedDate.

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

  • permissions: Debido al tamaño potencial de las listas de control de acceso (LCA) de las unidades compartidas, los permisos no se devuelven como parte de los archivos. Usa el método permissions.list, que admite la paginación, para enumerar los permisos de un archivo dentro de una unidad compartida o de la carpeta de la unidad compartida.
  • owners, ownerNames y ownedByMe: Los archivos de una unidad compartida son propiedad de la unidad compartida, no de los 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 al usuario 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: No se muestra un padre en la lista de padres si el usuario que realiza la solicitud no es miembro de la unidad compartida y no tiene acceso al padre. 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 en una unidad compartida.

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

Cambiar recursos

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: ID de la unidad compartida asociada a este cambio.
  • drive: Es el estado actualizado de la unidad compartida. Se presenta 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 para los usuarios y las unidades compartidas.