조회 수 308 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄 첨부



티스토리에 자동으로 글을 쓰고 싶어서 예제를 찾아봤는데, 제대로된 예제를 찾아보기 힘들었습니다.

티스토리 자체의 api 설명도 부족하구요.

 

일단 access token을 발급 받는 것 부터가 생소했는데, 1차로 인증 코드를 발급 받고, 2차로 access token 을 발급 받는 형식으로 전개 됩니다.

 

또 api 필드의 이름이 변경되었는데, 설명서와 api 등록 사이트의 필드 네임이 다른 경우가 있었습니다.

client id = app id 는 같은 의미이고, client secret = secret key와 같은 의미입니다.

저처럼 헷갈리는 분들은 참고하세요.

 

 

모든 조건이 맞았는데 오류가 날 때는 콜백 주소에서 마지막에 /를 빼고 시도해보길 바랍니다.

일반적으로 그냥 티스토리 주소를 넣으면 됩니다.

 

screenshot-www.tistory.com-2019.12.png

 

 

# coding=utf-8
import requests
import webbrowser

#client_id  == app_id
client_id = ""
#client_secret = Secret_Key
Secret_Key = ""
#code는 access_token을 받기 위한 중간 인증코드, 나중에 사용하지 않음.
code = ""
#access_token는 이후에 모든 인증에서 사용하는 최종 키임.
access_token = ""

#티스토리 주소의 아이디나 전체주소
blog_name = ""

#콜백주소는 자신의 티스토리 주소를 사용해도 되고, 끝에 /는 넣지 않는다.
redirect_uri = "https://#######.tistory.com"
state_param = ""
output_type = "json"

# 먼저 코드를 생성하고,
if not code:
auth_url = f'https://www.tistory.com/oauth/authorize?client_id={client_id}&redirect_uri={redirect_uri}&response_type=code'
webbrowser.open(auth_url)
print('주소창에서 코드 값을 복사하세요. ?code= 이하')

# 이후에 액세스 토큰을 받아야 한다. 이게 좀 귀찮고 낮설다.
if not access_token:
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'
# webbrowser.open(token_url)
r = requests.get(token_url)
print(r.text)


# 이제 실제 사용할 액세스 코드를 가지고 호출을 할 수 있다.

def get_info():
info_url = f'https://www.tistory.com/apis/blog/info?access_token={access_token}&output={output_type}'
r =requests.get(info_url)
return r.text

def get_list(page_number):
url = f'https://www.tistory.com/apis/post/list?access_token={access_token}&output={output_type}&blogName={blog_name}&page={page_number}'
r = requests.get(url)
return r.text


def get_category():
url = f'https://www.tistory.com/apis/category/list?access_token={access_token}&output={output_type}&blogName={blog_name}'
r = requests.get(url)
r = r.json()['tistory']['item']['categories']
for i in r:
print(f'{i["name"]} ({i["id"]})')
return r


def get_write():
title = "테스트" #제목 (필수)
content = "글 내용" #글내용(필수)
visibility = "3" #발행상태 0비공개-기본, 1보고,3발행
category_id = "0" #카테고리 아이디 기본값 0
slogan = "" #문자주소
tag = "" #태그 ,로 구분
acceptComment = "" #댓글 허용 (0, 1 - 기본값)
password = "" #보호글 비밀번호
url = f'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}&slogan={slogan}&tag={tag}&acceptComment={acceptComment}&password={password}'
r = requests.post(url)
print(r, r.text)

print(get_list(1))
get_category()

 



  • ?
    주사랑 2019.12.23 12:49 SECRET

    "비밀글입니다."

  • profile
    운영자 2019.12.31 17:25 SECRET

    "비밀글입니다."

  • ?
    주사랑 2020.01.15 00:49 SECRET

    "비밀글입니다."


List of Articles
번호 분류 제목 날짜 조회 수 글쓴이
공지 공지 구글 무제한 드라이브 이용자 공지사항 5 2017.10.30 2449 운영자
공지 공지 구글 드라이브 무제한 클라우드 G-Suite 가입하실 분 모집합니다. 13 file 2017.10.30 4028 운영자
14474 UCC/영상 베트남 대 인도네시아 U22 남자축구 결승 생방송 영상 2019.12.10 63 운영자
14473 정보&강의 네이버 카페 오픈 API 토큰 발급 파이썬 소스 예제 네이버 개발자 카페 https://developers.naver.com/products/cafe/ 네이버 카페 오픈 API 이용신청 https://developers.naver.com/apps/#/register?api=cafe acce... file 2019.12.09 112 운영자
14472 정보&강의 네이버 밴드 오픈 API 토큰 발급 소스 2019.12.08 60 운영자
14471 정보&강의 32기가 램을 부착한 서버 mariadb, nginx, php-fpm 설정하기 Nignx, MariaDB, PHP-FPM, PHP 를 이용한 서버 운영시, PHP-FPM에서 child process가 부족하여 lock이 걸리는다는 에러가 발생하였고, 이를 해결하기 위해 일단 ... file 2019.12.08 99 운영자
14470 질문글 호크마.cdb 파일을 구하고 싶습니다 2019.12.07 85 하샨떠
» 정보&강의 파이썬 티스토리 API를 이용하기 위한 access_token 발급과 사용 예제 소스 티스토리에 자동으로 글을 쓰고 싶어서 예제를 찾아봤는데, 제대로된 예제를 찾아보기 힘들었습니다. 티스토리 자체의 api 설명도 부족하구요. 일단 access token... 3 file 2019.12.05 308 운영자
14468 정보&강의 엑셀 파일로 읍면동 주소를 만드는 파이썬 소스 2019.12.05 66 운영자
14467 정보&강의 전국 읍면동 주소 데이터 만들기 지인의 부탁으로 전국읍면동 주소록 데이터를 찾아봤는데, 쓸만한게 없어서 새로 엑셀 파일로 만들었습니다. 주소지는 매달 바뀌기 때문에 만드는 과정을 기록에 ... file 2019.12.05 53 운영자
14466 질문글 정회원이 되려면 어찌해야 하나요? 2 2019.12.04 116 하샨떠
14465 가입인사 귀한 곳에 가입했어요. 베들레헴 성경을 아주 잘 사용하고 있어요 2019.12.04 50 하샨떠
14464 정보&강의 자동 출석 프로그램 윈도우10 스케줄러 등록하기 오늘은 자동출석 프로그램을 만들어서 윈도우 10 스케줄러에 등록하도록 하겠습니다. 한달동안 자동출석으로 개근을 해보는 과정입니다. 일단 자동 출석 프로그램... file 2019.12.03 84 운영자
14463 정보&강의 네이버 Clova Voice 음성변환 파이썬 코드 secret 2019.11.21 2 운영자
14462 정보&강의 nwc 2.75 이상 버전에서 만든 nwc 파일을 musicxml로 변환하기 파이썬 소스 2019.11.17 174 운영자
14461 질문글 링크프라이스 애드온 문의드립니다 2019.11.10 68 -3340
14460 정보&강의 V2Ray 및 ShadowSocks 적용하기 2019.10.30 93 운영자
14459 정보&강의 SoftEther VPN 서버 설정 2019.10.30 109 운영자
14458 정보&강의 Edgerouter L2TP VPN 설정후 윈도우 10 클라이언트 접속 방법 보통 공유기에서 vpn 설정은 pptp를 지원하지만, 애플에서 pptp 지원을 하지 않으면서 l2tp 접속을 해야하는 경우가 있다. 오랜만에 vpn을 구성하였는데 윈도우도... file 2019.10.27 114 운영자
14457 알뜰구매 [옥션] 삼성전자 DDR4 PC4 21300 8G (스마일클럽)(28,850원) http://mobile.auction.co.kr/ego.aspx?t=vp&p=B563335619 스마일클럽 15% 중복 카드쿠폰 http://rpp.auction.co.kr/?exhib=31592 스마일클럽 매월주는 12%쿠폰이... file 2019.10.26 95 운영자
14456 알뜰구매 미국직배송 곰돌이 푸 위니 더 푸우 인형 헤팔럼 http://www.11st.co.kr/product/SellerProductDetail.tmall?method=getSellerProductDetail&prdNo=2477933220 file 2019.10.24 81 운영자
14455 알뜰구매 [인터파크] 프리즘코리아TV 65인치 (538,620/30,000) http://shopping.interpark.com/product/productInfo.do?prdNo=6793249437 티비 저렴하게 나왔네요. 65인치 50만원 초. file 2019.10.20 98 운영자
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 725 Next
/ 725