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

Os drives compartilhados seguem modelos diferentes de organização, compartilhamento e propriedade do 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 do Drive compartilhado nos recursos files e changes.

Recurso de arquivo

Os seguintes campos no recurso files são preenchidos apenas para arquivos localizados em um drive compartilhado:

  • hasAugmentedPermissions: se algum usuário tem acesso direto ao arquivo.
  • capabilities/canAddFolderFromAnotherDrive: se o usuário atual pode adicionar uma pasta de outro drive (um drive compartilhado diferente ou o Meu Drive) a esta pasta.
  • capabilities/canDeleteChildren: se o usuário atual pode excluir filhos desta pasta.
  • capabilities/canMoveChildrenOutOfDrive: se o usuário atual pode mover filhos desta pasta para fora do drive compartilhado.
  • capabilities/canMoveChildrenWithinDrive: se o usuário atual pode mover filhos desta pasta no drive compartilhado.
  • capabilities/canMoveItemWithinDrive: indica se o usuário atual pode mover esse item do drive compartilhado dentro do drive compartilhado.
  • capabilities/canReadDrive: se o usuário atual tem acesso de leitura ao drive compartilhado a que este arquivo pertence.
  • capabilities/canTrashChildren: se o usuário atual pode mover para a lixeira os filhos desta pasta.
  • driveId: o ID da unidade compartilhada em que o arquivo está localizado.
  • trashingUser: se o arquivo foi movido para a lixeira explicitamente, o usuário que fez isso.
  • 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) dos 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 são de propriedade do drive compartilhado, não de usuários individuais.
  • folderColorRgb: não é possível colorir pastas 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 arquivos em um item:

  • sharedWithMeDate
  • sharingUser

Os campos a seguir exigem atenção especial quando usados com unidades compartilhadas:

  • 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 responsável não aparece na lista de responsáveis se o usuário solicitante não for membro do drive compartilhado e não tiver acesso ao responsável. Além disso, com exceção da pasta de nível superior, a lista de principais precisa conter exatamente um item se o arquivo estiver localizado em um drive compartilhado.

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

Alterar recurso

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

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

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