개발자/파이썬 Python

티스토리 글올리기 API

지구빵집 2020. 1. 13. 21:34
반응형

 

티스토리 블로그에 IT 키워드 여러개를 동시에 포스팅 하려고 찾아보니 이런 api를 제공하고 있다. 아래 코드블럭의 글은 티스토리 api를 설명한 티스토리 Open API에 잘 나와있다. 이제부터 어떻게 사용하면 되는지 공부, 또 공부!

 

글 작성 API
블로그에 글을 작성하는 API 입니다.

POST https://www.tistory.com/apis/post/write?
  access_token={access-token}
  &output={output-type}
  &blogName={blog-name}
  &title={title}
  &content={content}
  &visibility={visibility}
  &category={category-id}
  &published={published}
  &slogan={slogan}
  &tag={tag}
  &acceptComment={acceptComment}
  &password={password}
  
기본 매개변수를 제외한 매개변수는 다음과 같습니다.

blogName: Blog Name (필수)
title: 글 제목 (필수)
content: 글 내용
visibility: 발행상태 (0: 비공개 - 기본값, 1: 보호, 3: 발행)
category: 카테고리 아이디 (기본값: 0)
published: 발행시간 (TIMESTAMP 이며 미래의 시간을 넣을 경우 예약. 기본값: 현재시간)
slogan: 문자 주소
tag: 태그 (',' 로 구분)
acceptComment: 댓글 허용 (0, 1 - 기본값)
password: 보호글 비밀번호

응답
postId: 글 번호
url: 발행 주소
응답 예
{
  "tistory":{
    "status":"200",
    "postId":"74",
    "url":"http://sampleUrl.tistory.com/74"
  }
}

 

일단 파일을 올리는 api를 사용한 예제를 보고 다듬어 사용하기로 한다. 아래 소스코드는 Python requests 모듈을 사용하여 티스토리 open api 파일 첨부 api 사용하기에서 얻은 소스다.

 

import json
import requests

blogName = 'iamaman'    
token = 'accessToken값'
filepath = 'C:/test2.png'

files = {'uploadedfile': open(filepath, 'rb')}
params = {'access_token': token, 'blogName': blogName, 'targetUrl':blogName, 'output':'json'}
rd = requests.post('https://www.tistory.com/apis/post/attach', params=params, files=files)

try:
	item = json.loads(rd.text)
	print(json.dumps(item, indent=4))
	print("----------------------------------------------")
	print(item["tistory"]["replacer"])        
	print(item["tistory"]["url"])		
	print(item["tistory"]["status"])
except:
	print("Failed")

 

 

 

 

반응형