티스토리 Open API 등록 및 사용방법, 티스토리 자동화프로그램 개발 첫 단계
최근에 자동화 프로그램을 코딩하는것에 관심이 있어서 이것저것 찾아보게 되었는데,
대부분이 Open API 를 지원받아서 프로그램을 구현하는 구조로 되어 있었다.
그래서 일단! 티스토리에서 제공해주는 Open API 로 프로그램 개발을 시작해보려고 한다.
"티스토리 Open API 로 나의 카테고리와 글 목록의 대한 정보를 가져오는 기능을 구현해보려고한다."
일단 특정 프로그래밍 언어를 사용하진 않고 "Talend API Tool" 을 사용해서 TCP 기반 HTTP 프로토콜로
직접 작성해 정보를 가져오는 방식으로 기능 검토를 진행해봤다.
아래 링크를 통해서 "Talend API Tool" 을 설치할 수 있으니,
설치하고 간단한 사용법을 익히고 글을 읽어내려가는걸 추천한다.
[HTTP] HTTP Protocol Test 프로그램 설치 ("Talend API Tester")
Talend API Tester 라는 프로그램은, WEB Application 을 개발하거나, WEB Server 등을 개발할 때, REST API를 테스트하거나, HTTP Protocol 을 테스트 하기 위한 프로그램이다. 설치방법 "Chrome 웹 스토어" 접..
johnconomics.tistory.com
Test Tool 을 사용해서 동작 구조를 파악하고, 이 정보를 기반으로 프로그래밍을 시작할 생각이다.
일단 Open API 를 사용해서 프로그래밍을 하려면,
"App ID", "Secret Key", "Authentication Code", "Access Token" 이 4가지의 값이 필요하다.
"App ID" 와 "Secret Key" 는 티스토리 홈페이지에서 "앱 등록" 기능을 이용해서 간단하게 받아올 수 있고,
이렇게 받은 2가지의 정보를 가지고 "Code" 값을 받아내고, 이 3가지를 이용해서 Token 값을 얻어내면 된다.
이제 위 3가지의 정보를 가져오는 방법이 어떻게되는지 알아보자.
Open API 사용 등록 및 "App ID", "Secret Key" 받아오기
일단 티스토리의 Main 홈페이지를 들어가서, 맨 아래까지 스크롤을 내려 아래 이미지와 같은 부분까지 내려주면,
아래와 같이 "오픈 API" 버튼을 찾을 수 있다. 이 버튼을 누르고 "앱 등록" 화면으로 이동.
앱 등록 화면으로 이동하면 아래와 같은 화면이 보여지는데,
오른쪽 상단에 보면 "오픈 API 가이드" 라는 버튼을 볼 수 있다, 여기로 들어가도 API 사용방법에 대해 볼 수 있으니 참고!
어느정도 기술지식이 있다면 제공되는 가이드 홈페이지 들어가는 걸 추천하는데,
그게 잘 이해가 가지 않는다면, 이 글을 통해서 방법을 터득하면된다.
먼저 위 이미지에서 적어둔 번호를 기준으로 하나하나 기입해야 할 내용은 이렇다.
참고로 번호로 기입하지 않은 항목은 공란으로 두어도 등록하는데 문제되지 않는다.
① : 서비스 명, 즉 제목이다. 마음대로 적어도 되는데 나는 "TestApplication" 으로 적었다.
② : 자기 자신의 블로그 홈페이지 주소
③ : "웹서비스" 선택
④ : "읽기, 쓰기" 선택
⑤ : 자기 자신의 블로그 홈페이지 주소
이렇게 적고 아래 쪽 "등록" 버튼을 누르면 완료가되고,
"앱 등록" 탭 옆에 "앱 관리" 탭을 클릭해서, 조금전에 등록한 서비스를 확인한다.
그리고 그 서비스 우측 끝에 "설정" 버튼을 클릭하면!
발급받은 "App ID" 와 "Secret Key" 를 확인할 수 있다.
Authentication Code 발급받기!
일단 사용자 데이터에 접근을 위해 티스토리 인증요청을 진행해서 "Authentication Code" 를 받아야 하는데,
요청 URL 은 아래와 같다.
이거를 어떻게 적어야 하냐면, client_id 는 아까 발급받은 "App ID" 값이고,
redirect_uri는 아까 발급받기 위해 써두었던 "Callback" 주소다.
만약에 나의 App ID가 "1234abcd" 라면, URL 은 이렇게 구성된다.
https://www.tistory.com/oauth/authorize?client_id=1234abcd&redirect_uri=http://johnconomics.tistory.com/&response_type=code&state={state_param}
이제 다 만들어진 URL 을 크롬 브라우저 주소창에 복사-붙여넣기 해서 엔터를 누른다.
이때 잘못 입력한 부분이 있으면, 주소창에 어떤 에러가 있는지 나오고,
만약 정상적으로 잘 입력했다면, 아래와 같은 화면이 나오는데 아래쪽에 "허가하기" 버튼을 눌러준다.
정상적으로 모두 완료가 되면, 주소창으로 부터 "Authentication Code" 값을 알아낼 수 있다.
"code=" 부터, "&"문자가 나오기 전까지의 값을 보관한다.
여기까지해서 "App ID" 와 "Secret Key", "Authentication Code" 까지 모두 얻어 냈다.
이제 마지막으로 Access Token 을 받아 올건데, 이제부터는 Talend API Tool 이 필요하니, 설치하고 따라오면 된다.
Access Token 받아오기!
동일하게 Access Token 을 발급받기 위한 URL 의 예시는 가이드 홈페이지에서 찾아볼 수 있는데,
그 예시와 기입해야 할 내용을 매칭해보면 아래와 같다.
이제 위 내용에서 각각에 입력해야 할 내용은 이렇다.
① : 발급 받은 "App ID"
② : 발급 받은 "Secret Key"
③ : "CallBack" 주소
④ : 위에서 발급받은 "Authentication Code" 값
만약 App ID 가 "1234" 이고, Secret Key 가 "abcd ", Authentication Code 가 "1111" 라면 URL 주소는 아래와 같다.
https://www.tistory.com/oauth/access_token?client_id=1234&client_secret=abcd&redirect_uri=http://johnconomics.tistory.com/&code=1111&grant_type=authorization_code
이제 저 URL 주소를 Talend API Tool 을 이용해서 Access Token 을 얻어내면 되는데,
위에 만들어둔 URL 을 Talend API Tool 내에 주소창에 입력하면,
아래와 같이 입력하기 편한 형태로 나와준다.
① : "GET" 선택
② : 임의로 만든 주소 입력
③ : "client_id" 와 "client_secret" 를 잘 맞춰서 입력
④ : "Send" 버튼 클릭
위 과정을 모두 진행하면, Token 값을 얻어낼 수 있는데 잘 진행이 됐다면, 스크롤을 아래로 내리면 응답 값을 볼 수 있다.
우측 상단에는 "200" 이라는 성공을 뜻하는 숫자를 확인할 수 있고,
오른쪽 중간쯤 위치한 "BODY" 탭에서 "access_token=ㅁㅁㅁㅁㅁㅁㅁㅁ" 값을 확인할 수 있다.
이제 "APP ID", "Secret Key", "Authentication Code", "Access Token" 까지 모두 얻어냈다.
한 개의 "Authentication Code" 로 "Access Token" 한 개를 얻어 낼 수 있는데,
만약 Access Token 을 얻어낼 때 계속적으로 "400" 이라는 오류 값을 뜻하는 숫자가 반환되면,
"Authentication Code" 발급 단계부터 다시 진행해주면 된다.
또한 Access Token 의 경우는 1시간 이상 사용이 불가하니, 이 때에도 Code 값 부터 시작해서
Token 값을 다시 얻어내어 사용하면 된다.