N잡을 하며 네이버블로그만 운영을 하다 이렇게 티스토리까지 유입이 되었다.
오픈API를 이용하여 파이썬을 통해 자동으로 포스팅을 해보기 위해 시작을 한다.
티스토리 오픈API를 이용하기 위해 차근차근 따라오길 바란다.
오픈 API 발급 및 코드 생성하기
티스토리 API를 사용하기 위해서는 권한을 획득하여야 한다.
www.tistory.com/guide/api/manage/register
TISTORY
나를 표현하는 블로그를 만들어보세요.
www.tistory.com
위 사이트에 접속하면, 아래와 같은 화면이 나온다.

티스토리 오픈API를 등록해주어야 하는데, 서비스명은 원하는 이름으로 지어준다.
서비스 URL 및 CallBack 주소에는 운영하는 티스토리 블로그 주소를 넣어주면 된다.
자 여기까지 잘 따라오셨다!
등록을 누르고나면 바로 화면이 바뀌게 되는데, 아래와 같을 것이다.

내가 등록한 오픈API의 App ID 와, 시크릿 키가 나오는데, 이 화면에서 넘어가도 괜찮다.
상단 메뉴에 앱 등록 / 앱 관리 메뉴가 있기에, 화면 이동시 앱 관리 메뉴에 들어가서
앱 목록에 떠있는 서비스명을 보고 설정으로 들어가면 모든 정보가 한눈에 들어온다.
여기까지 따라오는데 별 문제 없으셨을 거다.
오픈 API를 이용하기 위해 앱아이디와 키를 발급받았겠다.
Authentication Code를 발급받아야 한다.
정확한 정보를 티스토리 측에서 정보공개를 통해 공유하고 있으며, 막히는 부분이 있다면,
보면서 차근차근 따라오셔도 된다.
인증 요청 및 Authentication code 발급
소개 · GitBook (tistory.github.io)
소개 · GitBook
No results matching ""
tistory.github.io
위 사이트 를 클릭해 들어가면 티스토리 Open API 목차와 함께 정보가 공유되어 있다.
우리가 자세하게 들여봐야 할 메뉴는 왼쪽의 Authorization Code 방식 메뉴이다.
이 메뉴에 들어가게 되면 아래와 같은 화면이 우측으로 바로 나오게 된다.

잘 따라오고 계신가? 그렇다면 아래 식을 잘 보면 되겠다.
https://www.tistory.com/oauth/authorize?
client_id={client-id}
&redirect_uri={redirect-uri}
&response_type=code
&state={state-param}
소개글에서도 잘 가르쳐 주고 있지만, 봐도 잘 모르겠단 분이 분명 있을거다.
왜냐면 나도 계속 그랬고 어렵고 잘안되고 계속 하나씩 하다보니 결국엔 성공을 했다.
이해력의 문제라기 보다는 처음 접해본걸 하려다보니, 어려운것 뿐이다.
처음이 어렵지 두번부터는 쉬워지는 모든일이 세상일 같다.
https://www.tistory.com/oauth/authorize?
client_id={client-id}
&redirect_uri={redirect-uri}
&response_type=code
&state={state-param}
위에 보이는 client-id와 redirect-uri {}괄호는 필요없는 부분이므로 과감하게 삭제해준다.
내가 발급받은 오픈API의 앱아이디와 서비스 URL을 넣어주면 되는데,
App ID ABC123, Secret Key ABC123456, 서비스 URL https://abc.tistory.com/ 이라고
가정했을경우 식은 아래와 같아진다.
https://www.tistory.com/oauth/authorize?
client_id=ABC123
&redirect_uri=https://abc.tistory.com/
&response_type=code
&state={state-param}
위 식을 그대로 크롬 또는 엣지 주소창에 넣어준다.
정확한 App ID와 서비스 URL을 넣어주고 주소창에 입력을 해주었다면,
코드 발급에 대한 동의 요청을 확인 할 수 있다.
TISTORY OAUTH 화면과 함께 등록했던 서비스명의 이름과
기능을 사용하시려면 아래 항목에 대한 접근을 허가야해야 합니다. 라는 창이 나올 것이다.
허가하기 버튼을 클릭하면 운영하는 블로그 메인화면으로 이동이 된다.
여기까지 잘 따라오셨다면, 블로그 메인화면이 보이며,
상단 주소는 https://abc.tistory.com/ 만 나오는게 아니라 더 긴 주소가 주소창에 떠있을 것이다.
https://abc.tistory.com/?code=ABC1234567890&state={state-param} 식의 주소가
보이실텐데, code=뒤의 ABC 부터 &state 앞의 890까지 복사하시면 된다.
그러면 Authentication code 를 알수 있게 된다.
Access Token 발급
나도 여러번 시도끝에 발급을 받기는 했으나, 정말 어려웠고 힘들었다.
여러번의 오류와 실패끝에 결국 발급을 받았으니 그대로 따라오시면 된다.

GET https://www.tistory.com/oauth/access_token?
client_id={client-id}
&client_secret={client-secret}
&redirect_uri={redirect-uri}
&code={code}
&grant_type=authorization_code
https://www.tistory.com/oauth/access_token?
client_id={client-id}
&client_secret={client-secret}
&redirect_uri={redirect-uri}
&code={code}
&grant_type=authorization_code
Authentication code를 발급받을때와 비슷하며 2가지를 더 채워주어야 한다.
https://www.tistory.com/oauth/access_token?
client_id=ABC123
&client_secret=ABC123456
&redirect_uri=https://abc.tistory.com/
&code=ABC1234567890
&grant_type=authorization_code
발급받은 App ID, 시크릿키, 서비스URL, code 까지 정확하게 넣어주고
인터넷 주소창에 그대로 넣어준다.
그러면 아래 보이는 그림과 같은 화면이 반겨줄 것이다.

화면에는 error 가 보이니 이거 문제 생긴거 아니냐 라고 생각하실거다.
나도 물론 그랬다. 이게 끝인가 싶다가도 오픈 API 소개글에서는 볼수 없던 화면인데
왜 이게 나왔을까 하며 정말 이리보고 저리보고 아무리봐도 알수가 없어 구글링을 열심히 했다.
해답을 찾았다. 바로 개발자모드를 들어가야 하는 것이었다.
위 화면이 나온상태에서 키보드의 F12 버튼을 눌러주면 아래와 같을 것이다.

오른쪽 상단 메뉴에 보이는 네트워크메뉴로 이동을 해준다.
여기까지 모두 잘 따라오셨을 것 같다.
아무것도 보이지 않는다. 무엇이 문제였을까? 아주쉬웠다.
주소창을 눌러 그냥 엔터한번 눌러주시면 된다.

주소가 제대로 입력이 되었든 안되었든, 네트워크 상태를 보면
access_token?과 favicon.ico 메뉴가 보이는데 옆에 상태가 400 과 200으로 두가지가 보인다.
Access_token을 발급받기 위해서는 상태가 200으로 보여야 한다고 하는데 나는
처음부터 계속 400이 나와 무엇이 문제인가 계속 찾아보았다.
여기서 막힘으로 인해 시간을 무진장 날렸는데, 해결법은 아주 간단했다.
2번이상 400이 나오면 그냥 앱관리에서 처음에 등록했던 서비스를 삭제후
다시 처음부터 앱등록을 해주면 된다.
여러번의 시도끝에 발급받은 Access_token

Stasus가 200으로 나오면 토큰을 발급받을 수 있으니, 발급받은 토큰과 API를 통해
티스토리를 제대로 운영해보도록 하겠다.