
Если вы когда-либо пробовали получать сообщения с Medium (программно), вы должны знать, что API Medium, хотя и всеобъемлющий, не дает нам возможности получить список наших собственных сообщений или чужих. К счастью, для этого есть обходной путь, который я продемонстрирую здесь. Кроме того, вы также можете использовать этот пакет, который я создал, чтобы без проблем получать сообщения.
- Вы можете получить список сообщений для определенного пользователя с помощью «https://medium.com/feed/@username», который вернет RSS-канал в формате XML. Это не особенно полезно для нас, поэтому нам нужно преобразовать его в формат, который нам удобен, в данном случае JSON.
- Мы можем вызвать API, чтобы помочь нам с преобразованием RSS в JSON. Для этого нам потребуется использовать fetch и отправить запрос с URL-адресом RSS-канала с шага 1 на «https://api.rss2json.com/v1/api.json. ?rss_url=rss_feed_url».
- API вернет объект ответа, который мы можем преобразовать в объект JSON с помощью response.json(). Разобранный объект JSON — это то, что нам нужно.
const fetch = require('node-fetch')
const getPosts = async (username) => {
let posts = []
const feedURL = `https://medium.com/feed/@${username}`
const toolURL = `https://api.rss2json.com/v1/api.json?rss_url=${feedURL}`
await fetch(toolURL)
.then(response => response.json())
.then(data => posts = data.items())
.catch(err => console.log(err))
return posts
}
module.exports = { getPosts }
Вот и все! Не стесняйтесь использовать мой инструмент или задавать любые вопросы по этому поводу.