Автоматизируйте свой текст: публикация на Medium с помощью Python и API Medium

Автоматизируйте свой текст: публикация на Medium с помощью Python и API Medium

3 сентября 2024 г.

Введение

Как человек, использующий Obsidian для написания статей, я часто обнаруживаю, что мне нужно вручную копировать и форматировать свой контент при публикации на Medium. Этот процесс может быть трудоемким и повторяющимся, особенно при работе с файлами Markdown. Чтобы оптимизировать свой рабочий процесс, я решил разработать скрипт Python, который автоматизирует публикацию файлов Markdown непосредственно на Medium. В этой статье я с радостью поделюсь с вами тем, как программно публиковать статьи с помощью API Medium, делая процесс более быстрым и эффективным.

Настройка API Medium

Для взаимодействия с API Medium вам сначала нужно сгенерировать токен интеграции. Этот токен позволит вашему скрипту Python аутентифицироваться и выполнять действия от вашего имени.

Шаги по созданию токена интеграции:

  1. Перейти на ваш MediumБезопасность и приложения.
  2. Прокрутите страницу вниз до раздела «Интеграционные токены».
  3. Нажмите «Получить токен интеграции».
  4. Скопируйте сгенерированный токен и сохраните его — он понадобится вам для вашего скрипта.

Имея токен на руках, вы готовы приступить к написанию кода.

Получение данных пользователя и публикаций

Вот код 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. Приятного изучения!👋


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE