티스토리 API
티스토리 API는
티스토리 서비스를 외부에서 이용하는데 있어 필요한 기능들을 제공합니다. 개발자는 티스토리 API를 이용해 블로그에 글을 등록, 수정 및 삭제할 수 있습니다.
티스토리 서비스를 외부에서 이용하는데 있어 필요한 기능들을 제공합니다. 개발자는 티스토리 API를 이용해 블로그에 글을 등록, 수정 및 삭제할 수 있습니다.
티스토리는
MetaWeblog API,
Blogger 1.0 API,
Movable Type API등 사실상 표준(de facto)인 해외 유명 API를 지원합니다. 따라서 해외 유명 API를 이해하고 지원하는 어플리케이션을 작성하면 티스토리를 원격으로 관리할 수 있으며 이를 지원하는 3rd-Party 어플리케이션을 사용할수도 있습니다.
MetaWeblog API,
Blogger 1.0 API,
Movable Type API등 사실상 표준(de facto)인 해외 유명 API를 지원합니다. 따라서 해외 유명 API를 이해하고 지원하는 어플리케이션을 작성하면 티스토리를 원격으로 관리할 수 있으며 이를 지원하는 3rd-Party 어플리케이션을 사용할수도 있습니다.
티스토리 API 사용 설정 #
티스토리 API를 사용하기 위해선 우선 관리자 화면에서 해당 기능에 대한 설정을 해야 합니다.
- 로그인 후 관리자 화면의 환경설정 > 기타설정 메뉴로 들어가세요.
- 기타설정 메뉴의 제일 아래를 보면 '글 작성 환경을 설정합니다' 항목이 보입니다. 그 항목에서 BlogAPI 사용여부 체크박스를 선택하면 티스토리 API를 사용할 수 있습니다.
Blogger 1.0 API #
Blogger 1.0 API는 2001년 8월, 블로거닷컴의 공동창업자인 Evan Williams가 고안했으며 XML-RPC형태로 구현되었습니다. Blogger 1.0 API는 아래 메소드를 지원합니다. 각 메소드에 대한 보다 상세한 설명은
Blogger 1.0 API의 문서 페이지를 참조하시기 바랍니다.
Blogger 1.0 API의 문서 페이지를 참조하시기 바랍니다.
| blogger.newPost | 새 글을 작성합니다. |
| blogger.editPost | 글을 편집합니다. |
| blogger.getUsersBlogs | 해당 사용자의 블로그 정보를 읽어옵니다. |
| blogger.getUserInfo | 사용자 인증을 통해 사용자 정보를 읽어옵니다. |
| blogger.getTemplate | 블로그 템플릿 정보를 읽어옵니다. |
| blogger.setTemplate | 블로그 템플릿 정보를 수정합니다. |
현재 Blogger 1.0 API는 업데이트를 중단했으며
Blogger Data API로 일원화 되었습니다.
Movable Type API #
Movable Type API는 블로그 초창기 Movable Type이라는 블로그 시스템을 만든 Six Apart사에서 고안한 것으로 아래 메소드를 지원합니다.
| mt.supportedTextFilters | 텍스트 포맷팅 플러그인의 정보를 알아냅니다. |
| mt.supportedMethods | XML-RPC 정보를 알아냅니다. |
| mt.setPostCategories | 포스팅을 위한 카테고리를 설정 합니다. |
| mt.publishPost | 블로그에 작성된 글을 출판합니다. |
| mt.getTrackbackPings | 특정 글이 받은 트랙백 리스트를 알아냅니다. |
| mt.getRecentPostTitles | 가장 최근 작성한 글의 요약본을 받아옵니다. |
| mt.getPostCategories | 글이 있는 카테고리 리스트를 받아옵니다. |
| mt.getCategoryList | 블로그에 있는 모든 카테고리 리스트를 받아옵니다. |
MetaWeblog API #
MetaWeblog API는 Blogger 1.0 API를 참조하여 이를 보다 개선한 형태로 최초의 블로거이자 RSS의 아버지인 Dave Winer가 고안하였습니다.
| metaWeblog.newPost | 새 글을 작성합니다. |
| metaWeblog.editPost | 글을 수정합니다. |
| metaWeblog.getPost | 글을 읽어옵니다. |
| metaWeblog.getCategories | 카테고리 목록을 읽어옵니다. |
| metaWeblog.getRecentPosts | 최근 글 목록을 읽어옵니다. 목록 순서는 출판일 기준 역순이며 드래프트 상태인 글도 함께 읽어옵니다. |
기본 접근자(Basic entry-points) #
metaWeblog API는 기본적으로 아래 3가지 접근 방식을 지원합니다.
- metaWeblog.newPost (blogid, username, password, struct, publish) returns string
- metaWeblog.editPost (postid, username, password, struct, publish) returns true
- metaWeblog.getPost (postid, username, password) returns struct
구조체(The Struct) #
metaWeblog API가 Blogger 1.0 API에 비해 가장 개선된 부분은 newPost와 editPost에서 구조체(struct)를 전달하는 점입니다.
newPost, editPost에서 글의 내용을 뜻하는 content는 Blogger 1.0 API에서는 단순 문자열이었지만 metaWeblog에서는 구조체(struct)로 변경되었습니다. 구조체에 정의된 멤버는 RSS 2.0의 <item> 엘리먼트들이며 따라서 RSS 2.0을 지원하는 어플리케이션은 풍부하고 다양한 메타데이타를 이용할 수 있습니다.
구조체에 포함되는 3가지 기본적인 요소는 title, link, description입니다. title과 link를 지원하지 않는 블로깅 툴에서는 description만 content로 간주합니다.
엘리먼트가 별도의 속성을 갖는 경우, 한 예로 enclosure 엘리먼트는 RSS 2.0 스펙의 속성(url, strength, type)과 동일한 서브 엘리먼트의 구조체를 반환합니다.
source 엘리먼트는 url, name을 서브 엘리먼트로 갖는 구조체를 반환합니다.
카테고리를 위해 포스트가 속한 카테고리의 문자열 배열을 전달합니다. 서버는 카테고리가 존재하지 않아도 에러로 간주하지 않습니다. 존재할 경우에만 카테고리를 저장합니다.
getPost 메소드의 리턴값도 구조체입니다. 이 리턴값에는 newPost, editPost로 전달하는 특별한 엘리먼트를 포함하고 있습니다.
서버는 이해하지 못하는 모든 엘리먼트를 반드시 무시해야 합니다.
newPost나 editPost에서 만약 구조체에 flNotOnHomePage라는 불린값이 있을 경우 포스팅은 홈페이지에 나오지 않으며 특정 카테고리 페이지에서만 나옵니다.
기타 #
이외에도 metaWeblog.newMediaObject, metaWeblog.getCategories, metaWeblog.getRecentPosts등 다양한 메소드를 지원합니다. 보다 상세한 내용은
RFC:MetaWeblog API문서를 참조하세요.
RFC:MetaWeblog API문서를 참조하세요.
metaWeblog API의 상세한 레퍼런스는 MSDN에도 잘 기술되어 있으므로 이를 참조하세요.
주의사항 #
티스토리 API는 DNA에서 제공하는 인증 체계를 지원하지 않습니다. 메소드 호출 시 아이디와 비밀번호를 직접 입력받는 방식을 사용합니다. 따라서 보안상 취약한 부분이 있을 수 있으니 각별히 유의하시기 바랍니다.
3rd-Party 어플리케이션 지원 #
현존하는 대부분의 블로깅 툴은 상기 API를 지원합니다. Mac OS X 기반의 Ecto, Windows 기반의 MS Live Writer등 여러 3rd-Party 어플리케이션에서 API를 이용해 티스토리에 글을 작성하거나 수정 및 삭제할 수 있습니다.
이용 방법은 아래 티스토리 가이드를 참조하세요.


