Este guia contém tarefas relacionadas ao gerenciamento de drives compartilhados, como criar drives compartilhados e gerenciar participantes e permissões usando a API Google Drive.
Se você quiser especificar os campos a serem retornados na resposta, defina o parâmetro do sistema fields
com qualquer método do recurso drives
. Se você
não especificar o parâmetro fields
, o servidor vai retornar um conjunto padrão de campos
específicos para o método. Por exemplo, o método
list
retorna apenas os campos kind
, id
e
name
para cada unidade compartilhada. Para mais informações, consulte Retornar campos específicos.
Para saber mais sobre os limites de pastas dos drives compartilhados, consulte Limites de pastas dos drives compartilhados.
Criar um drive compartilhado
Para criar um drive compartilhado, use o método create
no recurso drives
com o parâmetro
requestId
.
O parâmetro requestId
identifica a tentativa lógica de criação idempotente de um drive compartilhado. Se a solicitação atingir o tempo limite ou retornar um erro indeterminado de back-end, ela poderá ser repetida sem criar duplicados. O
requestId
e o corpo da solicitação precisam permanecer os mesmos.
O exemplo de código a seguir mostra como criar uma unidade compartilhada:
Java
Python
Node.js
PHP
.NET
As chamadas para o método create
são idempotentes.
Se o drive compartilhado foi criado com sucesso em uma solicitação anterior ou devido a uma
nova tentativa, o método retorna uma instância do recurso drives
. Às vezes, como após um período prolongado ou se o corpo da solicitação tiver mudado, um erro 409
poderá ser retornado indicando que o requestId
precisa ser descartado.
Criar um drive compartilhado
Para receber metadados de um drive compartilhado, use o método get
no recurso drives
com o parâmetro de caminho driveId
. Se você não souber o ID do drive, liste todos os drives compartilhados usando o método list
.
O método get
retorna um drive compartilhado como uma instância de um recurso drives
.
Para emitir a solicitação como administrador do domínio, defina o parâmetro de consulta useDomainAdminAccess
como true
. Para mais informações, consulte Gerenciar drives compartilhados como administradores de domínio.
Listar drives compartilhados
Para listar os drives compartilhados de um usuário, use o método list
no recurso drives
. O método retorna uma lista de drives compartilhados.
Transmita os seguintes parâmetros de consulta para personalizar a paginação ou filtrar drives compartilhados:
pageSize
: o número máximo de unidades compartilhadas a serem retornadas por página.pageToken
: um token de página recebido de uma chamada de lista anterior. Informe esse token para recuperar a página subsequente.q
: string de consulta para pesquisar unidades compartilhadas. Para mais informações, consulte Pesquisar drives compartilhados.useDomainAdminAccess
: defina comotrue
para emitir a solicitação como um administrador de domínio e retornar todas as unidades compartilhadas do domínio em que o solicitante é administrador. Para mais informações, consulte Gerenciar drives compartilhados como administradores de domínio.
Atualizar um drive compartilhado
Para atualizar os metadados de um drive compartilhado, use o método update
no recurso drives
com o parâmetro de caminho driveId
.
O método retorna um drive compartilhado como uma instância de um recurso drives
.
Para emitir a solicitação como administrador do domínio, defina o parâmetro de consulta useDomainAdminAccess
como true
. Para mais informações, consulte Gerenciar drives compartilhados como administradores de domínio.
Ocultar e reexibir um drive compartilhado
Para ocultar um drive compartilhado da visualização padrão, use o método hide
no recurso drives
com o parâmetro driveId
.
Quando um drive compartilhado é oculto, o Drive marca o recurso
como hidden=true
. Os drives compartilhados ocultos não aparecem na interface do Drive nem na lista de arquivos retornados.
Para restaurar um drive compartilhado para a visualização padrão, use o método unhide
no recurso drives
com o parâmetro driveId
.
Os dois métodos retornam um drive compartilhado como uma instância de um recurso drives
.
Excluir um drive compartilhado
Para excluir permanentemente um drive compartilhado, use o método
delete
no recurso drives
com o parâmetro driveId
.
Antes de excluir um drive compartilhado, todo o conteúdo dele precisa ser movido para a lixeira ou excluído. O usuário também precisa ter role=organizer
na pasta do drive compartilhado. Para mais informações, consulte Mover para a lixeira ou excluir arquivos e pastas.
Transmita os seguintes parâmetros de consulta para filtrar drives compartilhados:
useDomainAdminAccess
: defina comotrue
para emitir a solicitação como um administrador de domínio e retornar todas as unidades compartilhadas do domínio em que o solicitante é administrador. Para mais informações, consulte Gerenciar drives compartilhados como administradores de domínio.allowItemDeletion
: defina comotrue
para excluir itens do drive compartilhado. Compatível apenas quandouseDomainAdminAccess
também está definido comotrue
.
Adicionar ou remover participantes de um drive compartilhado
Adicione ou remova participantes do drive compartilhado usando o recurso
permissions
.
Para adicionar um participante, crie a permissão no drive compartilhado. Os métodos de permissão também podem ser usados em arquivos individuais em um drive compartilhado para conceder privilégios adicionais aos membros ou permitir que pessoas que não são membros colaborem em itens específicos.
Para mais informações e exemplos de código, consulte Compartilhar arquivos, pastas e drives.
Gerenciar drives compartilhados como administradores de domínio
Aplique o parâmetro useDomainAdminAccess
com os recursos drives
e permissions
para gerenciar drives compartilhados em uma organização.
Os usuários que chamam esses métodos com useDomainAdminAccess=true
precisam ter o privilégio de administrador Drive and Docs
.
Os administradores podem pesquisar drives compartilhados ou atualizar as permissões dos drives compartilhados pertencentes à organização, independente da participação do administrador em qualquer drive compartilhado.
Ao usar contas de serviço, talvez seja necessário representar um administrador autenticado usando a representação de conta de serviço. As contas de serviço não pertencem ao seu domínio do Google Workspace, diferentemente das contas de usuário. Se você compartilhar recursos do Google Workspace, como documentos ou eventos, com todo o domínio do Google Workspace, eles não serão compartilhados com contas de serviço. Para mais informações, consulte Visão geral das contas de serviço.
Recuperar um drive compartilhado sem organizador
A amostra de código a seguir mostra como recuperar unidades compartilhadas que não têm mais um organizador.
Java
Python
Node.js
PHP
.NET
Impedir que os usuários baixem, imprimam ou copiem seu arquivo
Você pode limitar como os usuários podem baixar, imprimir e copiar arquivos nos drives compartilhados.
Para determinar se o usuário pode mudar as restrições de download aplicadas pelo organizador
de um drive compartilhado, verifique o campo booleano capabilities.canChangeDownloadRestriction
. Se capabilities.canChangeDownloadRestriction
estiver definido como true
, as restrições de download poderão ser aplicadas ao drive compartilhado. Para mais informações, consulte
Entender os recursos de arquivo.
O recurso drives
contém uma coleção de campos booleanos restrictions
usados para indicar se uma ação pode ser realizada em um drive compartilhado.
As restrições se aplicam a um drive compartilhado ou aos itens dentro dele.
As restrições podem ser definidas usando o método drives.update
.
Para aplicar restrições de download a um drive compartilhado, um administrador pode definir o campo restrictions.downloadRestriction
do recurso drives
usando o objeto DownloadRestriction
.
Definir o campo booleano restrictedForReaders
como true
declara que o download e a cópia são restritos para leitores. Definir o campo booleano restrictedForWriters
como true
declara que o download e a cópia são restritos para
gravadores. Se o campo restrictedForWriters
for true
, o download e a cópia também serão restritos para leitores. Da mesma forma, definir restrictedForWriters
como true
e restrictedForReaders
como false
equivale a definir restrictedForWriters
e restrictedForReaders
como true
.
Compatibilidade com versões anteriores
Com a introdução do objeto DownloadRestriction
, a funcionalidade do campo booleano restrictions.copyRequiresWriterPermission
foi atualizada.
Agora, definir restrictions.copyRequiresWriterPermission
como true
atualiza o campo booleano restrictedForReaders
do objeto DownloadRestriction
para true
e declara que o download e a cópia estão restritos para leitores.
Definir o campo copyRequiresWriterPermission
como false
atualiza os campos restrictedForWriters
e restrictedForReaders
para false
. Isso significa que as configurações de restrição de download ou cópia são removidas para todos os usuários.
Campos que controlam os recursos de download, impressão e cópia
A tabela a seguir lista os campos de recursos drives
que afetam a funcionalidade de download, impressão e cópia:
Campo | Descrição | Versão |
---|---|---|
capabilities.canCopy |
Se o usuário atual pode copiar arquivos em um drive compartilhado. | v2 e v3 |
capabilities.canDownload |
Se o usuário atual pode fazer o download de arquivos em um drive compartilhado. | v2 e v3 |
capabilities.canChangeCopyRequiresWriterPermission |
Se o usuário atual pode mudar a restrição copyRequiresWriterPermission de um drive compartilhado. |
v2 e v3 |
capabilities.canResetDriveRestrictions |
Se o usuário atual pode redefinir as restrições do drive compartilhado para os padrões. | v2 e v3 |
capabilities.canChangeDownloadRestriction |
Se o usuário atual pode mudar a restrição de download de um drive compartilhado. | Somente v3 |
restrictions.copyRequiresWriterPermission |
Se as opções de copiar, imprimir ou fazer o download de arquivos em um drive compartilhado estão desativadas para leitores e comentadores. Quando true , ele define o campo de nome semelhante como true para qualquer arquivo dentro desse drive compartilhado. |
v2 e v3 |
restrictions.downloadRestriction |
As restrições de download aplicadas pelos administradores do drive compartilhado. | Somente v3 |
Limites de pastas
As pastas do drive compartilhado têm alguns limites de armazenamento. Para mais informações, consulte Limites do drive compartilhado no Google Drive.
Limite de itens
Cada drive compartilhado de usuário tem um limite de 500.000 itens, incluindo arquivos, pastas e atalhos.
Quando o limite é atingido, o drive compartilhado não pode mais aceitar itens. Para voltar a receber arquivos, os usuários precisam excluir permanentemente os itens do drive compartilhado. Os itens na lixeira são contabilizados no limite, mas os excluídos permanentemente não. Para mais informações, consulte Mover para a lixeira ou excluir arquivos e pastas.
Limite de profundidade da pasta
Uma pasta em um drive compartilhado não pode ter mais de 100 níveis de pastas aninhadas. Isso significa que uma pasta filha não pode ser armazenada em uma pasta com mais de 99 níveis de profundidade. Essa limitação se aplica apenas a pastas filhas.
As tentativas de adicionar mais de 100 níveis de pastas retornam uma resposta de código de status HTTP teamDriveHierarchyTooDeep
.