요청 및 응답

이 가이드에서는 Google Docs API를 구성하는 기본 요청 및 응답 메서드와 문서를 일괄 업데이트하는 방법을 소개합니다.

HTTP 요청을 사용하거나 언어별 클라이언트 라이브러리에서 메서드 호출을 사용하여 Google Docs API를 호출할 수 있습니다. 이러한 방법은 대체로 동일합니다.

Google Docs API는 일반적으로 요청 호출 결과를 포함하는 HTTP 응답을 반환합니다. 클라이언트 라이브러리를 사용하여 요청을 하면 응답이 언어별 방식으로 반환됩니다.

요청 메서드

Docs API는 다음 메서드를 지원합니다.

  • documents.create: 빈 Google Docs 문서를 만듭니다.

  • documents.get: 지정된 문서의 전체 인스턴스를 반환합니다. 반환된 JSON을 파싱하여 문서 콘텐츠, 서식, 기타 기능을 추출할 수 있습니다.

  • documents.batchUpdate: 문서에 원자적으로 적용할 수정 요청 목록을 제출하고 결과 목록을 반환합니다.

documents.getdocuments.batchUpdate 메서드에는 대상 문서를 지정하는 매개변수로 documentId가 필요합니다. documents.create 메서드는 생성된 문서의 인스턴스를 반환하며, 여기에서 documentId를 읽을 수 있습니다. documentId에 대한 자세한 내용은 문서 ID를 참고하세요.

게시된 문서

documents.get 메서드를 사용하여 게시된 문서를 검색할 수는 없습니다. 게시된 공개 문서는 고유한 공개 documentId를 사용하여 다른 URL 형식을 사용합니다. documents.get 메서드와 함께 공개 documentId를 사용하려고 하면 404 HTTP 상태 코드 응답이 반환됩니다.

마찬가지로 Drive API files.copy 메서드를 사용하여 게시된 문서를 복사할 수는 없습니다.

게시된 문서를 검색하거나 복사하려면 원래 documentId를 사용해야 합니다. 게시된 URL에서 원래 documentId를 추출하는 메서드는 없습니다.

자세한 내용은 다음을 참고하세요.

일괄 업데이트

documents.batchUpdate 메서드는 실행할 단일 요청을 지정하는 request 객체 목록을 가져옵니다. 예를 들어 단락의 서식을 지정한 다음 인라인 이미지를 추가합니다. 각 요청은 적용되기 전에 유효성이 검사되며 요청은 일괄 요청에 표시되는 순서대로 처리됩니다.

일괄 업데이트의 모든 요청은 원자적으로 적용됩니다. 즉, 유효하지 않은 요청이 있으면 전체 업데이트가 실패하고 종속될 수 있는 변경사항이 적용되지 않습니다.

일부 documents.batchUpdate 메서드는 적용된 요청에 대한 정보가 포함된 응답을 제공합니다. 이러한 메서드는 response body 객체 목록이 포함된 response를 반환합니다. 다른 요청은 정보를 반환하고 빈 답장을 표시할 필요가 없습니다. 응답 목록의 객체는 해당 요청과 동일한 색인 순서를 차지합니다.

일괄 요청을 만드는 일반적인 패턴은 다음과 같습니다.

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

body = ... & requests & ...

...batchUpdate(body)

Docs API 호출을 일괄 처리하는 방법과 요청 및 응답 유형에 관한 documents.batchUpdate참조 문서에 대한 자세한 내용은 일괄 요청 권장사항을 참고하세요.

일괄 업데이트 작업

일괄 업데이트 요청에는 다양한 유형이 있습니다. 다음은 다양한 카테고리로 그룹화된 요청 유형입니다.

객체 추가 / 삽입 업데이트 / 바꾸기 삭제
텍스트 InsertTextRequest ReplaceAllTextRequest
스타일 CreateParagraphBulletsRequest UpdateTextStyleRequest
UpdateParagraphStyleRequest
UpdateTableCellStyleRequest
UpdateTableRowStyleRequest
UpdateDocumentStyleRequest
UpdateSectionStyleRequest
DeleteParagraphBulletsRequest
이름이 지정된 범위 CreateNamedRangeRequest ReplaceNamedRangeContentRequest DeleteNamedRangeRequest
DeleteContentRangeRequest
이미지 InsertInlineImageRequest ReplaceImageRequest
테이블 InsertTableRequest
InsertTableRowRequest
InsertTableColumnRequest
UpdateTableColumnPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
PinTableHeaderRowsRequest
DeleteTableRowRequest
DeleteTableColumnRequest
페이지 객체 (머리글바닥글 포함) InsertPageBreakRequest
CreateHeaderRequest
CreateFooterRequest
CreateFootnoteRequest
InsertSectionBreakRequest
DeletePositionedObjectRequest
DeleteHeaderRequest
DeleteFooterRequest