Автоматизируйте свой текст: публикация на Medium с помощью Python и API Medium
3 сентября 2024 г.Введение
Как человек, использующий Obsidian для написания статей, я часто обнаруживаю, что мне нужно вручную копировать и форматировать свой контент при публикации на Medium. Этот процесс может быть трудоемким и повторяющимся, особенно при работе с файлами Markdown. Чтобы оптимизировать свой рабочий процесс, я решил разработать скрипт Python, который автоматизирует публикацию файлов Markdown непосредственно на Medium. В этой статье я с радостью поделюсь с вами тем, как программно публиковать статьи с помощью API Medium, делая процесс более быстрым и эффективным.
Настройка API Medium
Для взаимодействия с API Medium вам сначала нужно сгенерировать токен интеграции. Этот токен позволит вашему скрипту Python аутентифицироваться и выполнять действия от вашего имени.
Шаги по созданию токена интеграции:
- Перейти на ваш MediumБезопасность и приложения.
- Прокрутите страницу вниз до раздела «Интеграционные токены».
- Нажмите «Получить токен интеграции».
- Скопируйте сгенерированный токен и сохраните его — он понадобится вам для вашего скрипта.
Имея токен на руках, вы готовы приступить к написанию кода.
Получение данных пользователя и публикаций
Вот код Python, который вы будете использовать для взаимодействия с API Medium:
import requests
# Replace these with your actual Medium integration token and file path
MEDIUM_TOKEN = 'your_medium_integration_token'
headers = {
'Authorization': f'Bearer {MEDIUM_TOKEN}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'host': 'api.medium.com',
'Accept-Charset': 'utf-8'
}
url = '''https://api.medium.com/v1/me'''
response = requests.get(url=url, headers=headers)
print('status_code is: ',response.status_code)
print('response text:', response.json())
print('userId:', response.json()['data']['id'])
Получение информации о пользователеКогда вы запускаете скрипт, он отправляет запрос API Medium для получения вашей пользовательской информации. Ответ включает в себя такие данные, как ваш идентификатор пользователя, который требуется для публикации контента.
Публикация статьи
Теперь, когда вы успешно получили свой идентификатор пользователя из API Medium, вы можете перейти к публикации статьи. Процесс включает отправку запроса POST к API Medium с содержимым статьи и некоторыми метаданными.
import requests
import json
# Replace with your actual Medium integration token and user ID
MEDIUM_TOKEN = 'your_medium_integration_token'
USER_ID = 'your_user_id'
headers = {
'Authorization': f'Bearer {MEDIUM_TOKEN}',
'Content-Type': 'application/json',
'Accept': 'application/json',
'host': 'api.medium.com',
'Accept-Charset': 'utf-8'
}
url = f'https://api.medium.com/v1/users/{USER_ID}/posts'
# Article content and metadata
data = {
"title": "Your Article Title",
"contentFormat": "markdown", # Choose 'html', 'markdown', or 'plain'
"content": "# Hello World!\nThis is my first article using the Medium API.",
"tags": ["python", "api", "medium"],
"publishStatus": "draft" # Choose 'public' or 'draft'
}
# Sending the POST request
response = requests.post(url=url, headers=headers, data=json.dumps(data))
print('Status code:', response.status_code)
print('Response:', response.json())
Теперь вы можете перейти на Medium, чтобы проверить свой последний черновик. Как только вы убедитесь, что все отформатировано правильно, вы можете продолжить и опубликовать его напрямую!
Спасибо, что уделили время изучению со мной информации, связанной с данными. Я ценю вашу вовлеченность. Если вы найдете эту информацию полезной, приглашаю вас подписаться на меня или связаться со мной наLinkedIn. Приятного изучения!👋
Оригинал