스프링노트 API 문서 페이지에 오신 것을 환영합니다.
API 안내
스프링노트 API는 HTTPS 프로토콜을 지원하며, REST 방식을 따르고 있습니다.
요청
API 요청을 할 때는 아래 내용이 중요합니다.
- 인증이 필요합니다.
-
요청과 응답의 메시지 형식은 XML과 JSON입니다.
- 이를 지정하기 위해, 아래 리소스 URL 뒤에 .xml 또는 .json을 붙입니다. (반드시 붙여야 하며, 그렇지 않으면 API 호출로 인정되지 않습니다.)
- 요청과 응답의 형식은 일치합니다. 즉, XML로 요청하면 XML로 응답합니다.
-
요청 메시지는 3가지 방법으로 전달할 수 있습니다.
-
HTTP 요청 파라미터에 메시지 형식을 파라미터 이름으로 하여 메시지를 넣습니다. 파라미터 값은 물론 URL 인코딩해야 합니다. 이 때 파라미터명은 리소스명[속성명]으로 적어줍니다(추천).
- 예) .../pages.xml?page[title]=NewPage&page[source]=test&page[relation_is_part_of]=1
-
HTTP 요청 파라메터에 XML이나 JSON을 직접 포함합니다. 이 때 파라메터명은 xml 또는 json입니다.
- 예) .../pages.xml?xml=<page><title>NewPage</title>...</page>
- HTTP 본문(body)에 넣습니다. 이 때 요청 HTTP 호출의 헤더에 Content Type을 정확히 명시해야 합니다. 예를 들어, XML이라면 ContentType이 'application/xml'이어야 하고, JSON이라면 'application/json'이어야 합니다.
-
요청 URL
-
리소스 URL은
-
https://api.springnote.com/pages - 페이지 전체
-
파라미터
- domain(OPTIONAL) : 검색하고자 하는 스프링노트의 계정 명
ex> https://api.springnote.com/pages.xml?domain=humbroll => humbroll.springnote.com 접근요청 - sort(OPTIONAL) : 정렬 기준으로 사용할 필드 정의, identifier | title | relation_is_par_of | date_modified | date_created 중 하나, 각 값들의 의미는 리소스 참고
ex> https://api.springnote.com/pages.xml?sort=date_modified => 수정된 날짜 기준으로 정렬 요청 - order(OPTIONAL) : 응답 페이지 정렬 순서, desc | asc 중 하나.
ex> https://api.springnote.com/pages.xml?sort=date_modified&order=desc => 최신 글 요청 - offset(OPTIONAL) : 응답 페이지 리스트의 offset정의
ex> https://api.springnote.com/pages.xml?sort=date_modified&offset=10 => 최신 글 중 10번째 글부터 요청 - limit(OPTIONAL) : 응답페이지 리스트의 크기 정의
ex> https://api.springnote.com/pages.xml?sort=date_modified&limit=10 => 최신글 10개만 요청
- domain(OPTIONAL) : 검색하고자 하는 스프링노트의 계정 명
-
-
https://api.springnote.com/pages/pid - 특정 페이지, 이때 pid에는 페이지 리소스의 ID(숫자)가 들어가야 합니다.
-
파라미터
- domain(OPTIONAL) : 검색하고자 하는 스프링노트의 계정 명
ex> https://api.springnote.com/pages/13?domain=humbroll => humbroll.springnote.com/13 페이지 접근요청
- domain(OPTIONAL) : 검색하고자 하는 스프링노트의 계정 명
-
- https://api.springnote.com/pages/pid/attachments - 특정 페이지에 속한 첨부 전체.
- https://api.springnote.com/pages/pid/attachments/aid - 특정 첨부, 이때 aid에는 첨부 리소스의 ID(숫자)가 들어가야 합니다.
-
응답
CRUD 오퍼레이션
마지막으로, CRUD 오퍼레이션에 대한 리소스 대상에는 일정한 제약이 있습니다.
-
Create(HTTP POST)
- pages와 attachments 가능합니다.
- 응답 메시지는 생성된 리소스입니다.
- 첨부(attachments)의 경우 요청 메시지를 XML이나 JSON이 아닌 HTTP의 multipart/form-data 형식으로 보내며 파라미터로는 Filedata에 첨부할 파일 정보와 내용을 넣습니다.
-
Retrieve(HTTP GET)
- page, pages, attachments, attachment 모두 가능합니다.
- 응답 메시지는 콜렉션 리소스 (복수) 또는 특정 리소스 (단수)
-
검색(search)
-
파라미터
- q: 키워드
- fulltext: 본문 검색여부. '0' 이면 제목만 검색, '1' 이면 본문까지 검색
- 호출 URL: https://api.springnote.com/pages.xml?q=...&fulltext=... 입니다.
-
-
Update(HTTP PUT)
- page만 가능합니다.
- 응답 메시지는 업데이트된 내용을 반영한 페이지입니다.
-
Delete(HTTP DELETE)
- page, attachment 가능합니다.
- 응답 메시지는 삭제된 리소스의 이전 내용입니다.
대체로 Create는 콜렉션 리소스에 대해서만 부를 수 있는 오퍼레이션입니다.
Retrieve는 콜렉션과 특정 리소스 모두 가능합니다.
Update와 Delete는 특정 리소스에만 가능합니다.
리소스에 대한 자세한 설명은 리소스을 참조하세요.
참고 사이트
스프링노트 API를 사용한 매시업 예제를 보시고 싶으시면 아래 링크들을 참고하세요.
(11)
(
