Documento

Este guia apresenta conceitos como os métodos principais que compõem a API Google Docs, como acessar um documento e o fluxo de trabalho ao criar um documento.

Métodos da API

O recurso documents fornece métodos que você usa para invocar a API Docs. Os métodos a seguir permitem criar, ler e atualizar documentos do Documentos:

  • Use o método documents.create para criar um documento.
  • Use o método documents.get para recuperar o conteúdo de um documento especificado.
  • Use o método documents.batchUpdate para executar atomicamente um conjunto de atualizações em um documento especificado.

Os métodos documents.get e documents.batchUpdate exigem um documentId como parâmetro para especificar o documento de destino. O método documents.create retorna uma instância do documento criado, do qual é possível ler o documentId. Para mais informações sobre solicitações e métodos de resposta da API Docs, consulte Solicitações e respostas.

ID do documento

O documentId é o identificador exclusivo do documento e pode ser derivado do URL de um documento. É uma string específica que contém letras, números e alguns caracteres especiais. Os IDs de documentos são estáveis, mesmo que o nome do documento mude.

https://docs.google.com/document/d/DOCUMENT_ID/edit

A expressão regular a seguir pode ser usada para extrair o documentId de um URL do Google Docs:

/document/d/([a-zA-Z0-9-_]+)

Se você conhece a API Google Drive, o documentId corresponde a id no recurso files.

Gerencie documentos no Google Drive

Os arquivos de documentos são armazenados no Google Drive, nosso serviço de armazenamento baseado na nuvem. Embora a API Docs tenha métodos independentes, muitas vezes é necessário usar métodos da API Google Drive para interagir com os arquivos Docs de um usuário. Por exemplo, para copiar arquivos do Documentos, use o método files.copy da API Drive. Para mais informações, consulte Copiar um documento existente.

Por padrão, ao usar a API Docs, um novo documento é salvo na pasta raiz do usuário no Drive. Há opções para salvar um arquivo em uma pasta do Drive. Para mais informações, consulte Trabalhar com pastas do Google Drive.

Trabalhar com arquivos do Documentos

Para extrair um documento do Meu Drive de um usuário, muitas vezes é necessário usar o método files.list do Drive para extrair o ID de um arquivo. Chamar o método sem parâmetros retorna uma lista de todos os arquivos e pastas, incluindo os IDs, do usuário.

O tipo MIME de um documento indica o tipo e o formato dos dados. O formato de tipo MIME para Docs é application/vnd.google-apps.document. Para uma lista de tipos MIME, consulte Tipos MIME compatíveis com o Google Workspace e o Google Drive.

Para pesquisar por tipo MIME apenas arquivos do Documentos no Meu Drive, adicione o seguinte filtro de string de consulta:

q: mimeType = 'application/vnd.google-apps.document'

Para mais informações sobre filtros de string de consulta, consulte Pesquisar arquivos e pastas.

Depois de saber o documentId, use o método documents.get para recuperar uma instância completa do documento especificado. Para mais informações, consulte Solicitações e respostas.

Para exportar o conteúdo de bytes de um documento do Google Workspace, use o método files.export do Drive com o documentId do arquivo a ser exportado e o tipo MIME de exportação correto. Para mais informações, consulte Exportar conteúdo de documentos do Google Workspace.

Comparar os métodos Get e List

A tabela a seguir descreve as diferenças entre os métodos do Drive e do Documentos e os dados retornados por cada um deles:

Operador Descrição Uso
drive.files.get Recebe os metadados de um arquivo por ID. Retorna uma instância do recurso files. Receba os metadados de um arquivo específico.
drive.files.list Recupera os arquivos de um usuário. Retorna uma lista de arquivos. Acesse uma lista de arquivos de usuário quando não tiver certeza de qual arquivo precisa modificar.
docs.documents.get Recebe a versão mais recente do documento especificado, incluindo toda a formatação e texto. Retorna uma instância do recurso documents. Receba o documento de um ID específico.

Fluxo de trabalho de criação de documentos

Criar e preencher um novo documento é simples, já que não há conteúdo existente para se preocupar e não há colaboradores que possam alterar o estado do documento. Conceitualmente, isso funciona conforme mostrado no diagrama de sequência a seguir:

Fluxo de trabalho para criar e
preencher um novo documento.
Figura 1. Fluxo de trabalho para criar e preencher um novo documento.

Na Figura 1, um usuário que interage com o recurso documents tem o seguinte fluxo de informações:

  1. Um app chama o método documents.create em um servidor da Web.
  2. O servidor da Web envia uma resposta HTTP que contém uma instância do documento criado como um recurso documents.
  3. Opcionalmente, o app chama o método documents.batchUpdate para executar atomicamente um conjunto de solicitações de edição para preencher o documento com dados.
  4. O servidor da Web envia uma resposta HTTP. Alguns métodos documents.batchUpdate fornecem um corpo de resposta com informações sobre as solicitações aplicadas, enquanto outros mostram uma resposta vazia.

Fluxo de trabalho de atualização de documentos

Atualizar um documento existente é mais complexo. Antes de fazer chamadas significativas para atualizar um documento, você precisa conhecer o estado atual dele: quais elementos o compõem, qual conteúdo está nesses elementos e a ordem dos elementos no documento. O diagrama de sequência a seguir mostra como isso funciona:

Fluxo de trabalho para atualizar um
documento.
Figura 2. Fluxo de trabalho para atualizar um documento.

Na Figura 2, um usuário que interage com o recurso documents tem o seguinte fluxo de informações:

  1. Um app chama o método documents.get em um servidor da Web, com o documentId do arquivo a ser encontrado.
  2. O servidor da Web envia uma resposta HTTP que contém uma instância do documento especificado como um recurso documents. O JSON retornado contém o conteúdo do documento, a formatação e outros recursos.
  3. O app analisa o JSON para que o usuário possa determinar qual conteúdo ou formato atualizar.
  4. O app chama o método documents.batchUpdate para executar atomicamente um conjunto de solicitações de edição para atualizar o documento.
  5. O servidor da Web envia uma resposta HTTP. Alguns métodos documents.batchUpdate fornecem um corpo de resposta com informações sobre as solicitações aplicadas, enquanto outros mostram uma resposta vazia.

Este diagrama não considera fluxos de trabalho em que atualizações simultâneas de outros colaboradores são feitas no mesmo documento. Para mais informações, consulte a seção de práticas recomendadas Planejar a colaboração.