Este documento aborda considerações importantes para nomear arquivos e trabalhar com
metadados, como texto indexável e miniaturas. Para inserir e recuperar arquivos, consulte o recurso files.
Visão geral de metadados
Na API Google Drive, o recurso files representa os metadados. Ao contrário das APIs
em que os metadados são um subobjeto, a API Drive trata todo o recurso
files como metadados. É possível acessar os metadados diretamente pelos métodos
get ou list no recurso files.
Por padrão, os métodos get e list retornam apenas um conjunto parcial de campos. Para
recuperar dados específicos, defina o fields parâmetro
de sistema na
solicitação. Se omitido, o servidor vai retornar um subconjunto 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.
Além disso, a visibilidade dos metadados depende da função do usuário no arquivo. O recurso
permissions não determina as ações permitidas de um
usuário em um arquivo ou pasta. Em vez disso, o recurso files
contém uma coleção de campos
booleanos capabilities. A
API Google Drive deriva esses capabilities do recurso permissions
associado ao arquivo ou à pasta. Para mais informações, consulte Entender os recursos de arquivo.
A API Drive oferece dois escopos de metadados restritos: drive.metadata
e drive.metadata.readonly. O escopo drive.metadata permite visualizar e gerenciar metadados de arquivos, enquanto drive.metadata.readonly é somente leitura. Ambos proíbem estritamente o acesso ao conteúdo do arquivo. Para mais informações, consulte Escolher escopos da API Google Drive.
Por fim, sempre verifique sua lógica em relação a permissões e escopos. Por exemplo, um usuário pode ser proprietário de um arquivo com permissões totais, mas a API Drive vai bloquear tentativas de modificar ou baixar o arquivo se o app tiver apenas o escopo drive.metadata.readonly.
Especificar nomes de arquivos e extensões
Os apps precisam especificar uma extensão de arquivo na propriedade
name) ao inserir
arquivos com a API Google Drive. Por exemplo, uma operação para inserir um arquivo JPEG
precisa especificar algo como "name": "cat.jpg" nos metadados.
As respostas GET subsequentes podem incluir a propriedade somente leitura fileExtension preenchida com a
extensão originalmente especificada na propriedade name. Quando um usuário do Google Drive
solicita o download de um arquivo ou quando ele é baixado pelo
cliente de sincronização, o Drive cria um nome de arquivo completo (com extensão) com base
no nome. Quando a extensão está ausente, o Drive tenta determinar a extensão com base no tipo MIME do arquivo.
Salvar texto indexável
O Drive indexa automaticamente os documentos para pesquisa quando reconhece o tipo de arquivo, incluindo documentos de texto, PDFs, imagens com texto e outros tipos comuns. Se o app salvar outros tipos de arquivos (como desenhos,
vídeos e atalhos), você poderá melhorar a capacidade de descoberta fornecendo
texto indexável no campo
contentHints.indexableText
do arquivo.
O texto indexável é indexado como HTML. Se você salvar a string de texto indexável
<section attribute="value1">Here's some text</section>, "Here's some
text" será indexado, mas "value1" não. Por isso, salvar XML como texto indexável não é tão útil quanto salvar HTML.
Ao especificar indexableText, lembre-se também do seguinte:
- O limite de tamanho para
contentHints.indexableTexté de 128 KB. - Capture os principais termos e conceitos que você espera que um usuário pesquise.
- Não tente classificar o texto por ordem de importância, porque o indexador faz isso de maneira eficiente para você.
- O aplicativo precisa atualizar o texto indexável a cada salvamento.
- Confira se o texto está relacionado ao conteúdo ou aos metadados do arquivo.
Este último ponto pode parecer óbvio, mas é importante. Não é uma boa ideia adicionar termos pesquisados com frequência para forçar a exibição de um arquivo nos resultados da pesquisa. Isso pode frustrar os usuários e até mesmo motivá-los a excluir o arquivo.
Enviar miniaturas
O Drive gera automaticamente miniaturas para muitos tipos de arquivos comuns, como Documentos, Planilhas e Apresentações Google. As miniaturas ajudam o usuário a identificar melhor os arquivos do Drive.
Para tipos de arquivo que o Drive não consegue gerar uma miniatura padrão, você pode fornecer uma imagem de miniatura gerada pelo seu aplicativo. Durante a
criação ou atualização de arquivos, faça upload de uma miniatura definindo o
campo contentHints.thumbnail no recurso files.
Especificamente:
- Defina o campo
contentHints.thumbnail.imagecomo a imagem codificada em base64 segura para URL e nome de arquivo (consulte a seção 5 da RFC 4648). - Defina o campo
contentHints.thumbnail.mimeTypecomo o tipo MIME adequado para a miniatura.
Se o Drive conseguir gerar uma miniatura do arquivo, ele vai usar a gerada automaticamente e ignorar as que você enviou. Se não for possível gerar uma miniatura, o Google vai usar a que você fornecer.
As miniaturas precisam obedecer a estas regras:
- Podem ser enviadas nos formatos PNG, GIF ou JPG.
- A largura recomendada é de 1.600 pixels.
- A largura mínima é de 220 pixels.
- O tamanho máximo do arquivo é de 2 MB.
- Eles precisam ser atualizados pelo aplicativo a cada salvamento.
Para mais informações, consulte o recurso files.
Recuperar miniaturas
É possível recuperar metadados, incluindo miniaturas, de arquivos do Drive.
As informações de miniatura estão no campo thumbnailLink do recurso files.
Retornar uma miniatura específica
O exemplo de código a seguir mostra uma solicitação de método get
com vários campos como um parâmetro de consulta para retornar os metadados thumbnailLink
de um arquivo específico. Para mais informações, consulte Retornar campos específicos de um arquivo.
GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=id,name,mimeType,thumbnailLink
Substitua FILE_ID pelo fileId do arquivo que você quer
encontrar.
Se disponível, a solicitação retorna um URL de curta duração para a miniatura do arquivo.
Normalmente, o link dura várias horas. O campo só é preenchido quando
o app solicitante pode acessar o conteúdo do arquivo. Se o arquivo não for compartilhado
publicamente, o URL retornado em thumbnailLink precisará ser buscado usando uma
solicitação com credenciais.
Retornar uma lista de miniaturas
O exemplo de código a seguir mostra uma solicitação de método list
com vários campos como um parâmetro de consulta para retornar os metadados thumbnailLink
de uma lista de arquivos. Para mais informações, consulte Pesquisar arquivos e
pastas.
GET https://www.googleapis.com/drive/v3/files/?fields=files(id,name,mimeType,thumbnailLink)
Para restringir os resultados da pesquisa a um tipo de arquivo específico, aplique uma string de consulta para definir o tipo MIME. Por exemplo, o snippet de código a seguir mostra como limitar a lista a arquivos do Google Sheets. Para mais informações sobre tipos MIME, consulte Tipos MIME compatíveis com o Google Workspace e o Google Drive.
GET https://www.googleapis.com/drive/v3/files/q=mimeType='application/vnd.google-apps.spreadsheet'&fields=files(id,name,mimeType,thumbnailLink)