본문 바로가기
대동단결 Python

티스토리 OpenAPI 사용하기

by 즐거운 지니 2020. 12. 13.
반응형

티스토리 OpenAPI에 관한 공식 도움말은 소개 · GitBook (tistory.github.io) 에서 볼 수 있다.

다음과 같은 절차로 진행된다.

  1. 앱등록 : 코드를 얻기위한 App ID 와 악세스토큰을 얻기 위한 Secret Key가 생긴다.
  2. 코드 얻기 : 악세스토큰을 얻기위해 코드가 필요하다.
  3. 악세스토큰 얻기 : 최종인증 절차
  4. 앱실행

악세스토큰은 한번 얻어지면 일정기간동안(3개월?) 계속해서 사용할 수 있다. 사용기간이 만료되었거나 잃어버려서 다시 얻기위해서는 '코드'라는 중간 단계 키를 얻어야 한다. 코드는 얻을 때 마다 매번 바뀌고 사용기간은 1시간이다. 코드가 얻어지면 바로 악세스토큰을 얻고 저장해 두어 사용해야 한다. 악세트토큰을 얻은뒤 코드는 불용처분된다. 

1. 앱등록

OpenAPI를 통해 사용할 앱등록. OpenAPI를 사용하기 위해서는 Access Token 이라는 비밀번호를 알아야 한다. 이를 위한 가장 첫번째 절차가 앱등록이다. 앱등록은 OpenAPI - TISTORY 에서 한다.

티스토리 OpenAPI 입등록 화면

화면에서 서비스 URL은 서비스가 웹주소가 있는 경우에는 그 웹주소를 쓰고 그렇지 않으면 해당 블로그 주소를 쓰면 된다. CallBack 은 코드를 얻기위해 필요한데 해당블로그 주소를 쓰면된다. (주소 마지막에 /를 넣지말라.)

앱등록 결과 화면

앱등록이 완료된 후 App IDSecret Key 를 얻게 된다. 

 

2. 코드 얻기 

code는 티스토리가 발급하는 Authorization code로 Access Token을 발급받는데 사용된다. 발급된 code는 1시간 이내에만 사용가능하며 재사용 할 수 없다.

auth_url = f'https://www.tistory.com/oauth/authorize?
              client_id={client_id}&
              redirect_uri={redirect_uri}&
              response_type=code&
              state={state_param}'

webbrowser.open(auth_url)

파이썬 코드상으론 위와 같이 구현 할 수 있으며 또는

웹브라우져 주소 창에 다음과 같이 실현할 수도 있다.    

https://www.tistory.com/oauth/authorize?
	client_id={client_id}&
	redirect_uri={redirect_uri}&
	response_type=code&
	state={state_param}

여기서, {client_id} 는 App ID로 {redirect_uri}는 Call Back 주소로, {state_param}은 임의의 문자열로 치환한다. 

실행결과 화면

허가하기 버튼을 클릭하여야 다음화면 처럼 브라우저 주소창에서 코드를 얻을 수 있다. 

코드는 브라우져 주소창에서 볼 수 있다. 

 

3. 악세스토큰 얻기

코드를 얻고 난 뒤 1시간 이내 악세스토큰을 얻어야 한다. 방법은 코드 얻는 방법과 유사한데, 중간에 버튼클릭하기처럼 인위적 절차없이 바로 얻을 수 있다. 

token_url = f'https://www.tistory.com/oauth/access_token?
              client_id={client_id}&
              client_secret={Secret_Key}&
              redirect_uri={redirect_uri}&
              code={code}&
              grant_type=authorization_code'

r = requests.get(token_url)
print(r.text)

 

 

반응형

댓글