Blogger JSON API: 시작하기

중요: 2024년 9월 30일부터 v2.0 JSON API에 대한 지원이 중단됩니다. 기능을 계속 사용하려면 v2.0 JSON API를 사용하는 애플리케이션을 최신 API 버전으로 업데이트하세요. 최신 버전에서는 왼쪽 탐색 메뉴의 링크를 사용하세요.

이 문서에서는 Blogger JSON API를 사용하는 방법을 설명합니다.

목차

소개

이 문서는 Blogger JSON API와 상호작용할 수 있는 애플리케이션을 작성하려는 개발자를 대상으로 합니다.

Blogger JSON API는 Blogger Data API 버전 2.0을 확장합니다. Blogger에서 XML이 아닌 JSON 형식으로 데이터를 검색하려면 Blogger JSON API를 사용하세요. 데이터를 XML 형식으로 검색하려면 Blogger 데이터 API를 사용하세요.

이 버전의 Blogger JSON API는 현재 읽기 전용이지만 읽기/쓰기 및 기타 기능도 추가할 계획입니다. 언제든지 Blogger 도움말 포럼에서 다른 기능을 요청할 수 있습니다.

시작하기 전에

Google 계정 만들기

Google 계정이 설정되어 있는지 확인합니다. 실수로 인한 데이터 손실을 방지하려면 개발 및 테스트 목적으로 별도의 Google 계정을 사용하는 것이 좋습니다. 이미 테스트 계정이 있다면 Blogger 사용자 인터페이스를 방문하여 테스트 데이터를 설정, 수정 또는 확인할 수 있습니다.

Blogger에 익숙해지기

Blogger 개념에 익숙하지 않으면 코딩을 시작하기 전에 이 문서를 읽고 사용자 인터페이스를 실험해 보세요. 이 문서에서는 사용자가 Blogger, 웹 프로그래밍 개념, 웹 데이터 형식에 익숙하다고 가정합니다.

요청 승인 및 애플리케이션 식별에 대해 알아보기

애플리케이션에서 비공개 데이터를 요청할 때 해당 데이터에 액세스할 수 있는 인증된 사용자가 요청을 승인해야 합니다.

애플리케이션에서 공개 데이터를 요청할 때 요청을 승인할 필요는 없지만 API 키와 같은 식별자가 있어야 합니다.

요청을 승인하고 API 키를 사용하는 방법에 대한 자세한 내용은 API 사용하기 문서의 요청 승인 및 애플리케이션 식별을 참조하세요.

Blogger JSON API 배경

Blogger 개념

Blogger의 기본 개념은

  • 블로그: API의 루트 개념 블로그에는 게시물과 페이지가 있습니다. 블로그 이름 및 설명과 같은 블로그 메타 정보를 위한 컨테이너입니다.
  • 게시물: 블로그 게시물은 블로그 작성자가 작성한 게시 가능한 항목입니다. 이 정보는 저자가 현재 세상에 게시하고자 하는 내용을 반영하여 시의적절하게 제공해야 합니다. 시간이 지나면서 블로그 게시물이 오래됨에 따라 관련성이 떨어지는 것으로 이해되고 있습니다.
  • 댓글: 댓글은 블로그 게시물 작성자가 아닌 다른 사람이 작성자의 글에 반응하는 곳입니다. 벽돌부터 꽃다발까지 모든 것을
  • 페이지: 페이지는 약력 정보 또는 사용자에게 연락하는 방법과 같은 정적 콘텐츠를 위한 공간입니다. 이는 일반적으로 자주 변경되지 않는 시대를 초월한 정보입니다.
  • 사용자: 사용자는 작성자, 관리자 또는 단순히 독자 역할로 Blogger와 상호작용하는 사람입니다. 공개 블로그의 경우 독자가 익명일 수 있지만 비공개 블로그에서는 Blogger에서 독자를 식별해야 합니다.

Blogger JSON API 데이터 모델

리소스는 고유 식별자를 갖는 개별 데이터 항목입니다. Blogger JSON API는 5가지 유형의 리소스에서 작동합니다.

  • Blogs 리소스: 블로그를 나타냅니다.
  • Posts 리소스: 게시물을 나타냅니다. 각 Posts 리소스는 Blogs 리소스의 하위 요소입니다.
  • 댓글 리소스: 특정 게시물의 댓글을 나타냅니다. 각 댓글 리소스는 Posts 리소스의 하위 요소입니다.
  • 페이지 리소스: 정적 페이지를 나타냅니다. 각 페이지 리소스는 블로그 리소스의 하위 요소입니다.
  • 사용자 리소스: 익명이 아닌 사용자를 나타냅니다. 페이지, 게시물 또는 댓글의 작성자를 식별하는 데 사용됩니다.
블로그 리소스에는 페이지와 게시물이라는 두 가지 하위 리소스 유형이 있습니다.
          게시물 리소스에는 댓글 리소스 하위 요소가 있을 수 있습니다.
리소스 간 관계 개요

Blogger JSON API 데이터 모델은 컬렉션이라고 하는 리소스 그룹을 기반으로 합니다.

블로그 컬렉션
<span="apicollection">블로그 컬렉션은 사용자가 액세스할 권한이 있는 모든 블로그로 구성됩니다. 사용자별로 블로그를 나열하거나 ID별로 단일 블로그를 검색할 수 있습니다.</span="apicollection">
게시물 모음
게시물 컬렉션은 특정 블로그 리소스 내의 모든 게시물 리소스로 구성됩니다.
댓글 컬렉션
댓글 컬렉션은 특정 게시물 리소스 내의 모든 댓글 리소스로 구성됩니다.
페이지 컬렉션
페이지 컬렉션은 특정 블로그 리소스에 있는 모든 페이지 리소스로 구성됩니다.
사용자 컬렉션
사용자 컬렉션은 Blogger의 모든 사용자 리소스로 구성되므로 나열할 수 없습니다. 사용자는 ID 또는 self 식별자를 사용하여 자신의 사용자 리소스(다른 사용자의 리소스 제외)를 검색할 수 있습니다.

Blogger JSON API 작업

다음 표에 설명된 대로 Blogger JSON API의 컬렉션 및 리소스에 대해 두 가지 메서드를 호출할 수 있습니다.

작업 설명 REST HTTP 매핑
list 컬렉션 내의 모든 리소스를 나열합니다. 컬렉션 URI의 GET
get 특정 리소스를 가져옵니다. 리소스 URI의 GET

아래 표에는 각 리소스 유형에서 지원되는 메서드가 나와 있습니다. 비공개 블로그의 모든 listget 작업에는 인증이 필요합니다.

리소스 유형
지원되는 메서드
list get으로
블로그
게시물
설명
페이지
사용자 아니요

통화 스타일

API를 호출하는 방법에는 여러 가지가 있습니다.

REST

REST는 데이터 요청 및 수정에 대한 간편하고 일관성 있는 접근 방식을 제공하는 소프트웨어 아키텍처 스타일입니다.

REST는 'Representational State Transfer'의 줄임말로, Google API의 맥락에서 REST는 HTTP 동사를 사용하여 Google이 저장한 데이터 표현을 검색 및 수정하는 방법을 의미합니다.

RESTful 시스템에서는 리소스가 데이터 스토어에 저장되고, 클라이언트는 서버에서 특정 작업(리소스 생성, 검색, 업데이트, 삭제 등)을 수행하라는 요청을 전송하며, 서버는 작업을 수행하고 응답을 전송합니다. 이 응답은 지정된 리소스 표현의 형식을 취하는 경우가 많습니다.

Google의 RESTful API에서는 클라이언트가 POST, GET, PUT 또는 DELETE 등의 HTTP 동사를 사용하여 작업을 지정합니다. 다음과 같은 형식의 전역적으로 고유한 URI로 리소스를 지정합니다.

https://www.googleapis.com/apiName/apiVersion/resourcePath?parameters

모든 API 리소스에는 HTTP에서 액세스할 수 있는 고유 URI가 있으므로 REST는 데이터 캐싱을 지원하며 웹의 분산형 인프라와의 연동성이 뛰어납니다.

HTTP 1.1 표준 문서의 메서드 정의를 확인하면 유용합니다. 문서에 GET, POST, PUT, DELETE의 사양이 포함되어 있습니다.

Blogger JSON API의 REST

Blogger JSON API 작업에 설명된 대로 지원되는 Blogger 작업은 REST HTTP 동사에 직접 매핑됩니다.

Blogger JSON API URI의 구체적인 형식은 다음과 같습니다.

https://www.googleapis.com/blogger/v2/users/userId
https://www.googleapis.com/blogger/v2/users/self
https://www.googleapis.com/blogger/v2/users/userId/blogs
https://www.googleapis.com/blogger/v2/users/self/blogs

https://www.googleapis.com/blogger/v2/blogs/blogId/posts
https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId
https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments
https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments/commentId
https://www.googleapis.com/blogger/v2/blogs/blogId/pages
https://www.googleapis.com/blogger/v2/blogs/blogId/pages/pageId

사용된 URI에 대한 전체 설명과 API에서 지원되는 각 작업의 결과는 Blogger JSON API 참조 문서에 요약되어 있습니다.

다음은 Blogger JSON API에서 이 기능이 작동하는 방식의 몇 가지 예입니다.

인증된 사용자가 액세스 권한을 가진 블로그를 나열합니다.

GET https://www.googleapis.com/blogger/v2/users/self/blogs?key=YOUR-API-KEY

code.blogger.com 블로그 (블로그 ID 3213900)에서 게시물을 가져옵니다.

GET https://www.googleapis.com/blogger/v2/blogs/3213900?key=YOUR-API-KEY

JavaScript의 REST

callback 쿼리 매개변수와 콜백 함수를 사용하여 JavaScript에서 REST를 사용하여 Blogger JSON API를 호출할 수 있습니다. 따라서 서버 측 코드를 작성하지 않고도 Blogger 데이터를 표시하는 다양한 애플리케이션을 작성할 수 있습니다.

다음 예는 YOUR-API-KEY를 API 키로 대체한 후 code.blogger.com 블로그에서 게시물을 검색합니다.

<html>
  <head>
    <title>Blogger JSON API Example</title>
  </head>
  <body>
    <div id="content"></div>
    <script>
      function handleResponse(response) {
        document.getElementById("content").innerHTML += "<h1>" + response.title + "</h1>" + response.content;
      }
    </script>
    <script
    src="https://www.googleapis.com/blogger/v2/blogs/3213900/posts/8398240586497962757?callback=handleResponse&key=YOUR-API-KEY"></script>
  </body>
</html>

데이터 형식

JSON

JSON(JavaScript Object Notation)은 특정 언어에 의존하지 않는 일반적인 데이터 형식으로, 임의의 데이터 구조를 간단한 텍스트로 표현할 수 있습니다. 자세한 내용은 json.org를 참조하세요.