Solicitações e respostas

Este guia apresenta os principais métodos de solicitação e resposta que compõem a API Google Docs e como atualizar um documento em lote.

É possível invocar a API Google Docs usando uma solicitação HTTP ou uma invocação de método em uma biblioteca de cliente específica do idioma. Elas são amplamente equivalentes.

A API Google Docs retorna uma resposta HTTP, que geralmente inclui o resultado da invocação da solicitação. Ao usar uma biblioteca de cliente para fazer solicitações, as respostas são retornadas de uma maneira específica do idioma.

Métodos de solicitação

A API Docs oferece suporte aos seguintes métodos:

  • documents.create: cria um documento em branco do Google Docs.

  • documents.get: retorna uma instância completa do documento especificado. É possível analisar o JSON retornado para extrair o conteúdo, a formatação e outros recursos do documento.

  • documents.batchUpdate: envia uma lista de solicitações de edição para aplicar atomicamente ao documento e retorna uma lista de resultados.

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, em que é possível ler o documentId. Para mais informações sobre documentId, consulte Document ID.

Documentos publicados

Não é possível usar o método documents.get para recuperar documentos publicados. Depois de publicados, os documentos públicos usam um formato de URL diferente com um documentId público distinto. As tentativas de usar o documentId público com o método documents.get retornam uma resposta de código de status HTTP 404.

Da mesma forma, não é possível usar o método da API Drive files.copy para copiar um documento publicado.

Para recuperar ou copiar um documento publicado, use o documentId original. Não há métodos para extrair o documentId original de um URL publicado.

Para mais informações, consulte:

Atualizações em lote

O documents.batchUpdate método usa uma lista de request objetos, cada um especificando uma única solicitação a ser realizada. Por exemplo, formate um parágrafo e adicione uma imagem inline. Cada solicitação é validada antes de ser aplicada, e as solicitações são processadas de acordo com a ordem em que aparecem na solicitação em lote.

Todas as solicitações na atualização em lote são aplicadas atomicamente. Ou seja, se alguma solicitação não for válida, toda a atualização falhará e nenhuma das mudanças (possivelmente dependentes) será aplicada.

Alguns métodos documents.batchUpdate fornecem respostas com informações sobre as solicitações aplicadas. Esses métodos retornam um corpo de resposta que contém uma lista de response objetos. Outras solicitações não precisam retornar informações e exibir uma resposta vazia. Os objetos na lista de respostas ocupam a mesma ordem de índice da solicitação correspondente.

Um padrão comum para fazer solicitações em lote é assim:

requests = []
requests.append(first request)
requests.append(second request)
...

body = ... & requests & ...

...batchUpdate(body)

Consulte as práticas recomendadas de solicitação em lote para detalhes completos sobre como agrupar as chamadas da API Docs e a documents.batchUpdatedocumentação de referência para tipos de solicitação e resposta.

Operações de atualização em lote

Há vários tipos de solicitações de atualização em lote. Confira uma análise dos tipos de solicitação, agrupados em diferentes categorias.

Objeto ADICIONAR / INSERIR ATUALIZAR / SUBSTITUIR EXCLUIR
Texto InsertTextRequest ReplaceAllTextRequest
Estilos CreateParagraphBulletsRequest UpdateTextStyleRequest
UpdateParagraphStyleRequest
UpdateTableCellStyleRequest
UpdateTableRowStyleRequest
UpdateDocumentStyleRequest
UpdateSectionStyleRequest
DeleteParagraphBulletsRequest
Intervalos nomeados CreateNamedRangeRequest ReplaceNamedRangeContentRequest DeleteNamedRangeRequest
DeleteContentRangeRequest
Imagens InsertInlineImageRequest ReplaceImageRequest
Tabelas InsertTableRequest
InsertTableRowRequest
InsertTableColumnRequest
UpdateTableColumnPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
PinTableHeaderRowsRequest
DeleteTableRowRequest
DeleteTableColumnRequest
Objetos de página (incluindo cabeçalhos e rodapés) InsertPageBreakRequest
CreateHeaderRequest
CreateFooterRequest
CreateFootnoteRequest
InsertSectionBreakRequest
DeletePositionedObjectRequest
DeleteHeaderRequest
DeleteFooterRequest