Criar e gerenciar arquivos

Neste guia, explicamos como criar e gerenciar arquivos no Google Drive usando a API Google Drive.

Criar arquivo

Para criar um arquivo no Drive sem metadados ou conteúdo, use o método create no recurso files sem parâmetros.

Quando você cria o arquivo, o método retorna um recurso files. O arquivo recebe um kind de drive.file, um id, um name de "Sem título" e um mimeType de application/octet-stream. O uploadType é marcado como obrigatório, mas o padrão é media. Portanto, não é necessário fornecer esse valor.

Para mais informações sobre os limites de arquivos do Drive, consulte Limites de arquivos e pastas.

Usar o parâmetro "fields"

Se você quiser especificar os campos a serem retornados na resposta, defina o parâmetro do sistema fields com qualquer método do recurso files. Se você omitir o parâmetro fields, o servidor vai retornar um conjunto padrão de campos específicos do método. Por exemplo, o método list retorna apenas os campos kind, id, name, mimeType e resourceKey de cada arquivo. Para retornar campos diferentes, consulte Retornar campos específicos.

Gerar IDs para usar com seus arquivos

O método generateIds no recurso files permite pré-gerar IDs de arquivo exclusivos que podem ser usados ao criar ou copiar arquivos e pastas no Drive. Isso pode ser útil quando você precisa controlar os IDs de arquivo do seu app, em vez de deixar o Drive atribuí-los automaticamente.

É possível definir o número de IDs gerados usando o parâmetro de consulta count. Se count não estiver definido, 10 serão retornados por padrão. O número máximo de IDs que você pode solicitar é 1.000.

Também é possível designar o space em que os IDs podem ser usados e o type de itens para os quais os IDs podem ser usados.

Depois que um ID é gerado, ele pode ser transmitido para o método create ou copy pelo campo id. Isso garante que o arquivo criado ou copiado use o ID predeterminado.

Se o arquivo for criado ou copiado, as novas tentativas vão retornar uma resposta de código de status HTTP 409 Conflict, e arquivos duplicados não serão criados.

Os IDs pré-gerados não são compatíveis com a criação de arquivos do Google Workspace, exceto os application/vnd.google-apps.drive-sdk e application/vnd.google-apps.folder tipos MIME. Da mesma forma, não é possível fazer uploads que referenciam uma conversão para um formato de arquivo do Google Workspace.

Criar arquivos somente de metadados

Os arquivos somente de metadados não contêm conteúdo. Metadados são dados (como name, mimeType e createdTime) que descrevem o arquivo. Campos como name são independentes do usuário e aparecem da mesma forma para cada pessoa, enquanto campos como viewedByMeTime contêm valores específicos do usuário.

Um exemplo de arquivo somente de metadados é uma pasta com o tipo MIME application/vnd.google-apps.folder. Para mais informações, consulte Criar e preencher pastas. Outro exemplo é um atalho que aponta para outro arquivo no Drive com o tipo MIME application/vnd.google-apps.shortcut. Para mais informações, consulte Criar um atalho para um arquivo do Drive.

Gerenciar imagens em miniatura

As miniaturas ajudam os usuários a identificar arquivos do Drive. O Drive pode gerar automaticamente miniaturas para tipos de arquivos comuns ou você pode fornecer uma imagem de miniatura gerada pelo seu app. Para mais informações, consulte Fazer upload de miniaturas.

Copiar um arquivo

Para copiar um arquivo e aplicar as atualizações solicitadas, use o método copy no recurso files. Para encontrar o fileId a ser copiado, use o método list.

É possível aplicar atualizações usando a semântica de patch, ou seja, fazer modificações parciais em um recurso. É necessário definir explicitamente os campos que você pretende modificar na solicitação. Os campos não incluídos na solicitação mantêm os valores atuais. Para mais informações, consulte Como trabalhar com recursos parciais.

É possível pré-definir o ID do arquivo copiado usando o método generateIds. Para mais informações, consulte Gerar IDs para usar com seus arquivos.

Use um escopo da API Drive adequado para autorizar a chamada. Para mais informações sobre os escopos do Drive, consulte Escolher escopos da API Google Drive.

Limitações e considerações

Ao se preparar para copiar arquivos, observe estes limites e considerações:

  • Permissões:

    • O objeto DownloadRestrictionsMetadata do recurso files determina quem pode copiar o arquivo. Para mais informações, consulte Impedir que os usuários façam o download, imprimam ou copiem seu arquivo.
    • O recurso de campo capabilities.canCopy determina se o usuário pode copiar um arquivo. Para mais informações, consulte Entender os recursos de arquivo.
    • O usuário que criou a cópia é o proprietário do arquivo copiado. Nenhuma outra configuração de compartilhamento do arquivo de origem é replicada. Se a cópia for criada em uma pasta compartilhada, ela vai herdar as permissões dessa pasta.
    • A propriedade de um arquivo copiado pode mudar, e a cópia pode não herdar as configurações de compartilhamento do arquivo original. Talvez seja necessário redefinir essas configurações.
  • Gerenciamento de arquivos:

    • Alguns arquivos, como atalhos de terceiros, nunca podem ser copiados.
    • Só é possível copiar um arquivo para uma pasta principal. Não é possível especificar vários parentes. Se o campo parents não for especificado, o arquivo vai herdar todos os pais detectáveis do arquivo de origem.
    • Embora uma pasta seja um tipo de arquivo, não é possível copiá-la. Em vez disso, crie uma pasta de destino e defina o campo parents dos arquivos atuais como a pasta de destino. Em seguida, exclua a pasta de origem original.
    • A menos que um novo nome de arquivo seja especificado, o método copy produz um arquivo com o mesmo nome do original.
    • O uso excessivo de copy pode levar à violação dos limites de cota da API Drive. Para mais informações, consulte Limites de uso.

Confira algumas das próximas etapas que você pode tentar: