2023.05.22 - [AI & 자동화/티스토리&파이썬] - 티스토리 api 자동 글쓰기 1 ( access_token )
2023.05.23 - [AI & 자동화/티스토리&파이썬] - 티스토리 api 자동 글쓰기 2 ( 파이썬 실습-글 목록 가져오기 )
Access_token 을 통해서 API 가 정상적으로 동작하는 것을 확인하였다.
이제 간단한 글을 업로드 하는 작업을 진행해 보자.
기본 코드는 아래와 같으며 수정할 사항은 access_token 과 내 블로그 url 부분이다.
import requests
def upload_to_tistory(title, content, access_token, blog_name):
url = f"https://www.tistory.com/apis/post/write?access_token={access_token}&output=json"
params = {
"title": title,
"content": content,
"visibility": 0, # 0: 비공개, 1: 보호, 3: 발행
"blogName": blog_name,
}
response = requests.post(url, data=params)
if response.status_code == 200:
print("글이 성공적으로 업로드되었습니다.")
else:
print(f"글 업로드 실패. 응답 코드: {response.status_code}")
print(response.text)
# 업로드할 글의 제목과 내용 설정
title = "GPT"
content = "<p>GPT3</p>"
# Tistory API에서 발급한 액세스 토큰과 블로그명 설정
access_token = "여기에 토큰 값 넣고 "
blog_name = "여기에 블로그 주소 넣고 "
# 티스토리에 글 업로드
upload_to_tistory(title, content, access_token, blog_name)
위 처럼 업로드 하게 되면 카테고리가 없고 비공개로 처리 되기 때문에 몇 가지 조치를 해줘야 한다.
1. 카테고리를 지정하는 방법
특정 카테고리에 글을 업로드 위해서는 카테고리 아이디를 알아야 한다. (기본값 : 0)
Categoty ID 값을 확인 하는 방법은 아래와 같다.
import requests
def category_list(access_token, blog_name):
url = f"https://www.tistory.com/apis/category/list?output=json&blogName={blog_name}&access_token={access_token}"
response = requests.get(url)
data = response.json()
if response.status_code == 200:
print("Success")
print(data)
else:
print(f"실패. 응답 코드: {response.status_code}")
print(response.text)
# Tistory API에서 발급한 액세스 토큰과 블로그명 설정
access_token = "68afe8001e8c5649ade87fe"
blog_name = "https://bard-google.tistory.com/"
# 티스토리에 글 업로드
category_list(access_token, blog_name)
위 파이썬 코드를 실행하면 아래와 같은 결과가 나온다
읽기 좀 어렵게 되어 있으나 천천히 들여다 보면 확인할 수 있다.
일단 API_Contents 카테고리에 글을 업로드할 예정이라서 확인해 보니 ID 는 아래처럼 나온다
{'id': '1130770', 'name': 'API_Contents',
2. 글 업로드 하기
카테고리 아이디를 확인했으니 글을 포스팅 해보자 (ID:1130770)
소스코드를 보면 아래와 같다.
visibility: 발행상태 (0: 비공개 - 기본값, 1: 보호, 3: 발행)
0으로 하면 비공개로 글이 업로드 되므로 처음에는 0으로 진행하여 테스트를 한 다음
3 으로 값을 변경해 주는 것이 좋다.
import requests
def upload_tistory_post(blog_name, access_token, category_id, title, content):
url = f'https://www.tistory.com/apis/post/write'
params = {
'output': 'json',
'blogName': blog_name,
'access_token': access_token,
'title': title,
'content': content,
'visibility' : 3,
'category': category_id
}
response = requests.post(url, params=params)
data = response.json()
if 'tistory' in data and 'status' in data['tistory'] and data['tistory']['status'] == '200':
print('Post uploaded successfully.')
else:
print('Failed to upload post.')
# 사용 예시
blog_name = 'YOUR_BLOG_NAME'
access_token = 'YOUR_ACCESS_TOKEN'
category_id = 'YOUR_CATEGORY_ID'
title = '제목'
content = '본문 내용'
upload_tistory_post(blog_name, access_token, category_id, title, content)
API_Contents 카테고리에 가면 'API_Title" 제목으로 글이 업로드 된 것을 확인 할 수 있다.
https://bard-google.tistory.com/category/AI%20%26%20%EC%9E%90%EB%8F%99%ED%99%94/API_Contents
이제 할 일은 자동으로 글을 수집하고 가공하는 작업이다.
수집된 데이터를 HTML 형식으로 저장하고
파일이 생성되면 자동으로 업로드하게 구성하면 된다.
'AI & 자동화 > 티스토리&파이썬' 카테고리의 다른 글
티스토리 api 자동 글쓰기 4 (기사 검색 하기 / 구글 피드 검색 ) (0) | 2023.06.09 |
---|---|
티스토리 api 자동 글쓰기 2 ( 파이썬 실습-글 목록 가져오기 ) (0) | 2023.05.23 |
티스토리 api 자동 글쓰기 1 ( access_token ) (1) | 2023.05.22 |
티스토리 api 자동 글쓰기 0 (결과 테스트) (0) | 2023.05.22 |
conda 사용자 생성 ( openssl-1.0.2l-0 에러 발생) (0) | 2023.05.22 |