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

Os drives compartilhados seguem diferentes modelos de organização, compartilhamento e propriedade de um Meu Drive. Por isso, algumas operações do "Meu Drive" não são permitidas para o conteúdo de um drive compartilhado. Neste documento, descrevemos as diferenças da API específicas dos drives compartilhados.

Files Recurso

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

  • hasAugmentedPermissions: se algum usuário recebe acesso diretamente nesse arquivo.
  • capabilities/canAddFolderFromAnotherDrive: se o usuário atual pode adicionar uma pasta de outro drive (outro drive compartilhado ou "Meu Drive") a essa pasta.
  • capabilities/canDeleteChildren: se o usuário atual pode excluir filhos dessa pasta.
  • capabilities/canMoveChildrenOutOfDrive: se o usuário atual pode mover os filhos dessa pasta para fora do drive compartilhado.
  • capabilities/canMoveChildrenWithinDrive: se o usuário atual pode mover filhos desta pasta no drive compartilhado.
  • capabilities/canMoveItemWithinDrive: se o usuário atual pode mover esse item de drive compartilhado para o drive compartilhado.
  • capabilities/canReadDrive: se o usuário atual tem acesso de leitura ao drive compartilhado a que esse arquivo pertence.
  • capabilities/canTrashChildren: se o usuário atual pode enviar os filhos desta pasta para a lixeira.
  • driveId: o ID do drive compartilhado em que o arquivo está localizado.
  • trashingUser: se o arquivo foi explicitamente enviado para a lixeira, o usuário que o deixou na lixeira.
  • trashedTime: o horário em que o item foi enviado para a lixeira.

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

  • permissions: devido ao possível tamanho das ACLs de drives compartilhados, as permissões não são retornadas como parte dos arquivos. Use o método permissions.list, que é compatível com paginação, para listar permissões para um arquivo em um drive compartilhado ou no próprio drive compartilhado.
  • owners, ownerNames, ownedByMe: os arquivos em um drive compartilhado pertencem ao drive compartilhado, não aos usuários.
  • folderColorRgb: não é possível colorir pastas individualmente
  • shared: todos os itens em um drive compartilhado são compartilhados.
  • writersCanShare: no momento, não é possível restringir o compartilhamento por função em drives compartilhados.

Os campos a seguir são definidos somente quando o usuário recebeu permissões de acesso ao arquivo em um item:

  • sharedWithMeDate
  • sharingUser

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

  • parents.isRoot: este campo só é verdadeiro para a pasta raiz "Meu Drive". É falso para a pasta de nível superior do drive compartilhado.
  • parents: um pai não aparecerá na lista se o usuário solicitante não for membro 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.

Permissions Recurso

O campo permissionDetails é preenchido apenas para arquivos localizados em um drive compartilhado. Este campo é uma lista de permissões condensadas que estão no arquivo do drive compartilhado ou são herdadas. Este é um campo somente para saída e só está presente em itens de drives compartilhados. Além disso:

  • Dois novos papéis de organizer e fileOrganizer foram definidos.
  • permissions.list agora é compatível com paginação.

Changes Recurso

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

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

Outras mudanças podem ser necessárias para aplicativos que precisam sincronizar conteúdo com drives compartilhados ou rastrear atividades. Veja mais detalhes em Controlar as alterações de usuários e drives compartilhados.