Diferenças entre o drive compartilhado e a API My Drive

Os drives compartilhados seguem modelos diferentes de organização, compartilhamento e propriedade de um Meu Drive. Por isso, algumas operações do Meu Drive não são permitidas para conteúdo em um drive compartilhado.

Este guia descreve as diferenças específicas da API de drives compartilhados nos recursos files e changes.

Recurso de arquivo

Os campos a seguir no recurso files são só preenchidos para arquivos localizados em um drive compartilhado:

  • hasAugmentedPermissions: indica se algum usuário tem acesso direto ao arquivo.
  • capabilities/canAddFolderFromAnotherDrive: indica se o usuário atual pode adicionar uma pasta de outro drive (um drive compartilhado diferente ou o Meu Drive) a essa pasta.
  • capabilities/canDeleteChildren: indica se o usuário atual pode excluir filhos dessa pasta.
  • capabilities/canMoveChildrenOutOfDrive: indica se o usuário atual pode mover filhos dessa pasta para fora do drive compartilhado.
  • capabilities/canMoveChildrenWithinDrive: indica se o usuário atual pode mover filhos dessa pasta dentro do drive compartilhado.
  • capabilities/canMoveItemWithinDrive: indica se o usuário atual pode mover esse item do drive compartilhado dentro do drive compartilhado.
  • capabilities/canReadDrive: indica se o usuário atual tem acesso de leitura ao drive compartilhado a que esse arquivo pertence.
  • capabilities/canTrashChildren: indica se o usuário atual pode mover filhos dessa pasta para a lixeira.
  • driveId: o ID do drive compartilhado em que o arquivo está localizado.
  • trashingUser: se o arquivo foi movido explicitamente para a lixeira, o usuário que o fez.
  • trashedTime: o horário em que o item foi movido para a lixeira. Se você estiver usando a API Drive v2 mais antiga, esse campo será chamado de trashedDate.

Os campos a seguir não são preenchidos para arquivos localizados em um drive compartilhado:

  • permissions: devido ao tamanho potencial das listas de controle de acesso (ACLs) de drives compartilhados, as permissões não são retornadas como parte dos arquivos. Use o método permissions.list, que oferece suporte à paginação, para listar as permissões de um arquivo em um drive compartilhado ou na pasta do drive compartilhado.
  • owners, ownerNames, ownedByMe: os arquivos em um drive compartilhado pertencem ao drive compartilhado, não a usuários individuais.
  • folderColorRgb: as pastas não podem ser coloridas individualmente.
  • shared: todos os itens em um drive compartilhado são compartilhados.
  • writersCanShare: não é possível restringir o compartilhamento por função em drives compartilhados.

Os campos a seguir só são definidos quando o usuário recebe permissões de acesso a um item:

  • sharedWithMeDate
  • sharingUser

Os campos a seguir exigem consideração especial quando usados com drives compartilhados:

  • parents.isRoot: esse campo só é verdadeiro para a pasta raiz do Meu Drive. Ele é falso para a pasta de nível superior do drive compartilhado.
  • parents: um pai não aparece na lista de pais se o usuário solicitante não for participante do drive compartilhado e não tiver acesso ao pai. Além disso, com exceção da pasta de nível superior, a lista de pais precisa conter exatamente um item se o arquivo estiver localizado em um drive compartilhado.

  • capabilities/canRemoveChildren: use capabilities/canDeleteChildren ou capabilities/canTrashChildren.

Recurso de mudança

Os novos campos a seguir estão disponíveis no changes recurso de um drive compartilhado:

  • changeType: o tipo de mudança. Os valores possíveis são file e drive.
  • driveId: o ID do drive compartilhado associado a essa mudança.
  • drive: o estado atualizado do drive compartilhado. Presente se o changeType for drive e o usuário ainda for participante do drive compartilhado.

Mudanças adicionais podem ser necessárias para aplicativos que precisam sincronizar conteúdo com drives compartilhados ou monitorar atividades. Para mais detalhes, consulte Rastrear mudanças para usuários e drives compartilhados.