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 conteúdo em 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: indica se algum usuário recebeu acesso ao arquivo diretamente.
  • capabilities/canAddFolderFromAnotherDrive: indica se o usuário atual pode adicionar uma pasta de outro drive (drive compartilhado diferente ou Meu Drive) a essa pasta.
  • capabilities/canDeleteChildren: indica se o usuário atual pode excluir subpastas dessa pasta.
  • capabilities/canMoveChildrenOutOfDrive: indica se o usuário atual pode mover as subpastas dessa pasta para fora do drive compartilhado.
  • capabilities/canMoveChildrenWithinDrive: indica se o usuário atual pode mover as subpastas dessa pasta no drive compartilhado.
  • capabilities/canMoveItemWithinDrive: indica se o usuário atual pode mover esse item do drive compartilhado.
  • capabilities/canReadDrive: 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 excluir subpastas dessa pasta.
  • driveId: o ID do drive compartilhado em que o arquivo está localizado.
  • trashingUser: se o arquivo foi excluído explicitamente, o usuário que o excluiu.
  • trashedTime: o horário em que o item foi transferido para a lixeira.

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

  • permissions: devido ao tamanho potencial das ACLs de drive compartilhado, 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 no próprio 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 as 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 nos drives compartilhados.

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

  • sharedWithMeDate
  • sharingUser

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

  • parents.isRoot: esse campo é verdadeiro apenas para a pasta raiz do Meu Drive e falso para a pasta de nível superior do drive compartilhado.
  • parents: um item pai não aparece na lista de itens pais se o usuário solicitante não for membro do drive compartilhado e não tiver acesso ao item 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 só é preenchido para arquivos localizados em um drive compartilhado. Esse campo é uma lista de permissões condensadas que estão no ou herdadas por este arquivo de drive compartilhado. Esse campo é somente saída e está presente apenas para itens de unidade compartilhada. Além disso:

  • duas novas funções de organizer e fileOrganizer foram definidas.
  • 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 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. Aparece quando o changeType é drive e o usuário ainda é participante do drive compartilhado.

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