앞선 포스팅에서 티스토리 api 등록, 카테고리 id 확인, 이미지 업로드, 포스팅 검색에 대해 알아봤습니다. 이번 시간에는 api를 활용한 글쓰는 방법을 알아볼까 합니다.
글쓰기 api 예제
import requests
# API 엔드포인트 설정
write_url = 'https://www.tistory.com/apis/post/write?'
# 요청 매개변수 설정
access_token = '발급받은 엑세스 토큰'
output_type = 'json'
blog_name = '블로그 이름'
title = '글 제목'
visibility = 0 # 0: 비공개 - 기본값, 1: 보호, 3: 발행
category = 2편에서 가지고 온 카테고리 아이디 # 기본값 : 0
published = '' # 기본값 : 현재시간
slogan = '' # 문자주소
tag = '' # 태그
acceptComment = 0 # 댓글 허용 0, 1 비허용
password = '' # 보호글 비밀번호
# 블로그 콘텐츠
content = '글 내용'
# 딕셔너리로 묶어 requests 라이브러리로 api 호출
write_params = {
'access_token': access_token,
'output': output_type,
'blogName': blog_name,
'title': title,
'content': content,
'visibility': visibility,
'category': category,
'published': published,
'slogan': slogan,
'tag': tag,
'acceptComment': acceptComment
}
response = requests.post(write_url, params=write_params)
post = response.json()
print(post)
엔드포인트, 엑세스 토큰 등 상수를 정확히 입력했다면 나머지 변수들의 내용대로 티스토리에 글이 등록됩니다. 조금 응용하면 3편에서 이미지 업로드 기능을 추가해서 글쓰기와 동시에 이미지를 업로드 할 수 있습니다.
티스토리 api 글쓰기의 한계
신규 블로그를 만들어 api를 다양하게 테스트를 했는데요. 글쓰기 api의 경우 해더정보를 포함해서 1,000글자가 넘어가면 에러메세지와 함께 기능을 하지 않습니다. 대략 1000글자 정도로 보여지며 세보진 않았습니다.
만약 짧은 글을 쓴다면 api를 활용할 수 있겠지만 보통의 포스팅의 경우 1000글자는 훌쩍 넘지 않을까요. 효용성 측면에서 티스토리 api는 한계가 있습니다.
실행 결과
status 값이 200이면 정상 등록입니다.