티스토리 API로 블로그 글 작성하는 코드 만들어줘.
import requests
import json
# Tistory API key
API_KEY = 'YOUR_API_KEY'
# Blog name and post title
blog_name = 'YOUR_BLOG_NAME'
post_title = 'YOUR_POST_TITLE'
# Post content (in HTML format)
post_content = '<p>This is a test post.</p>'
# Categories and tags (comma-separated string)
categories = 'category1, category2'
tags = 'tag1, tag2'
# Tistory API endpoint for post creation
url = 'https://www.tistory.com/apis/post/write'
# Request payload
payload = {
'access_token': API_KEY,
'output': 'json',
'blogName': blog_name,
'title': post_title,
'content': post_content,
'category': categories,
'tag': tags
}
# Send POST request to create post
response = requests.post(url, data=payload)
# Check response status code
if response.status_code == 200:
# Parse JSON response
json_data = json.loads(response.text)
# Check if post was successfully created
if json_data['tistory']['status'] == '200':
print('Post created successfully.')
else:
print('Post creation failed.')
else:
print('Request failed with status code:', response.status_code)
위 코드에서 YOUR_API_KEY와 YOUR_BLOG_NAME을 각각 본인의 API 키와 블로그 이름으로 바꿔주시면 됩니다. 그리고 YOUR_POST_TITLE과 post_content를 작성하고자 하는 글의 제목과 내용으로 수정하시면 됩니다.
코드 실행 후 "Post created successfully." 메시지가 출력되면 성공적으로 글이 작성된 것입니다. 만약 실패하면 "Post creation failed." 메시지가 출력됩니다. 요청이 실패한 경우에는 response.status_code를 통해 실패 원인을 파악할 수 있습니다.
이 코드는 Python requests 라이브러리를 사용하여 POST 요청을 보내고, JSON 형식으로 응답을 받아 처리합니다. 그리고 Tistory API에서 제공하는 post/write 엔드포인트를 사용하여 글을 작성합니다.
티스토리 API 글 작성을 마크다운 포맷으로 작성하는 코드를 추가해 줘.
네, 마크다운 포맷으로 글을 작성하는 코드를 추가해 드리겠습니다. 이 코드는 Python 언어로 작성되었습니다.
import requests
import json
# Tistory API key
API_KEY = 'YOUR_API_KEY'
# Blog name and post title
blog_name = 'YOUR_BLOG_NAME'
post_title = 'YOUR_POST_TITLE'
# Post content (in Markdown format)
post_content = '''
# This is a test post
This is a paragraph in **bold**.
- This is a list item.
- This is another list item.
This is a [link](https://www.example.com).
'''
# Categories and tags (comma-separated string)
categories = 'category1, category2'
tags = 'tag1, tag2'
# Tistory API endpoint for post creation
url = 'https://www.tistory.com/apis/post/write'
# Request payload
payload = {
'access_token': API_KEY,
'output': 'json',
'blogName': blog_name,
'title': post_title,
'content': post_content,
'category': categories,
'tag': tags,
'visibility': 0 # 0: Public, 1: Password, 2: Members Only, 3: Private
}
# Send POST request to create post
response = requests.post(url, data=payload)
# Check response status code
if response.status_code == 200:
# Parse JSON response
json_data = json.loads(response.text)
# Check if post was successfully created
if json_data['tistory']['status'] == '200':
print('Post created successfully.')
else:
print('Post creation failed.')
else:
print('Request failed with status code:', response.status_code)
위 코드에서 post_content를 작성하고자 하는 글의 마크다운 포맷으로 수정하시면 됩니다. 그리고 visibility 옵션을 통해 글의 공개 여부를 설정할 수 있습니다. 위 코드에서는 0으로 설정하여 공개글로 작성되도록 했습니다.
이 코드는 이전 코드와 거의 유사하지만, 글 내용을 마크다운 형식으로 작성하여 content 매개변수에 전달하는 부분이 추가되었습니다. 이외에는 이전 코드와 동일합니다.
마크다운 형식으로 글을 작성하면 텍스트 포맷을 사용하는 것보다 훨씬 더 가독성이 좋고, 다양한 스타일을 적용할 수 있어서 글 작성에 유용합니다.
티스토리 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}
네, 죄송합니다. 제가 알고 있던 내용이 오래된 정보였나 봅니다. 티스토리 API는 Markdown 포맷을 직접적으로 지원하지 않습니다. 하지만, Markdown 포맷으로 작성된 글을 HTML 포맷으로 변환하여 content 매개변수에 전달하면 됩니다. 이 경우, 변환된 HTML 코드가 글 내용으로 등록됩니다.
아래는 Markdown 포맷으로 작성된 글을 HTML 코드로 변환하는 Python 코드입니다. 이 코드를 통해 변환된 HTML 코드를 content 매개변수에 전달하여 티스토리 API를 통해 글을 등록할 수 있습니다.
import requests
import json
import markdown
# Tistory API key
API_KEY = 'YOUR_API_KEY'
# Blog name and post title
blog_name = 'YOUR_BLOG_NAME'
post_title = 'YOUR_POST_TITLE'
# Post content (in Markdown format)
post_content = '''
# This is a test post
This is a paragraph in **bold**.
- This is a list item.
- This is another list item.
This is a [link](https://www.example.com).
'''
# Convert Markdown to HTML
html_content = markdown.markdown(post_content)
# Categories and tags (comma-separated string)
categories = 'category1, category2'
tags = 'tag1, tag2'
# Tistory API endpoint for post creation
url = 'https://www.tistory.com/apis/post/write'
# Request payload
payload = {
'access_token': API_KEY,
'output': 'json',
'blogName': blog_name,
'title': post_title,
'content': html_content,
'category': categories,
'tag': tags,
'visibility': 0 # 0: Public, 1: Password, 2: Members Only, 3: Private
}
# Send POST request to create post
response = requests.post(url, data=payload)
# Check response status code
if response.status_code == 200:
# Parse JSON response
json_data = json.loads(response.text)
# Check if post was successfully created
if json_data['tistory']['status'] == '200':
print('Post created successfully.')
else:
print('Post creation failed.')
else:
print('Request failed with status code:', response.status_code)
'코드리뷰 > chatGPT(Python)코드' 카테고리의 다른 글
5분 만에 AI 아바타 만들어 유튜브 쇼츠 올리기 (2) | 2023.02.25 |
---|---|
ChatGPT로 API 구축해 월 100달러 부업 (10) | 2023.02.21 |
ChatGPT, 티스토리 블로그 포스팅 자동화 코드 만들기 (9) | 2023.02.12 |
댓글