Как использовать dev.to api для написания сообщения?

Один из процессов, который я делаю, когда пишу пост или статью, — это повторная публикация их в различных сообществах, таких как dev.to. Это поможет охватить больше читателей (при условии, что вы сохраните канонический url, указывающий на оригинальный сайт).

Но это может быть довольно утомительно, писать на своем сайте, копировать, редактировать контент и вставлять его в следующий редактор, но, как хороший разработчик, я всегда ищу способы автоматизировать процесс 😀

Мой текущий рабочий процесс при создании поста/статьи таков:

  1. Напишите контент в Sanity и опубликуйте его.
  2. Это отправляет веб-крючок в бессерверную функцию на моем сайте netlify.
  3. Эта функция преобразует содержимое в markdown.
  4. Он создает файл в моем репозитории github (мне нравится, когда содержимое хранится в файлах в формате markdown).
  5. Дождитесь сборки в netlify
  6. Он использует dev.to api для написания того же контента.
  7. То же самое делается для hashnode и medium.

Как использовать dev.to api?

Dev.to (и другие названные сервисы) предоставляют REST API, позволяющий публиковать контент, процесс прост:

export default async function writeToDevTo(post) {
    const article = {
        title: post.title,
        body_markdown: post.content,
        published: true,
        main_image: post.image,
        canonical_url: post.canonicalUrl
        description: post.description,
        tags: 'javascript, spanish, webdev'
    };

    try {
        const res = await fetch('https://dev.to/api/articles', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
                'api-key': import.meta.env.VITE_DEVTO_TOKEN
            },
            body: JSON.stringify({ article })
        });
        return {
            status: res.status,
            url: res.url
        };
    } catch (e) {
        console.error(e);
        return {
            status: 500,
            error: e
        };
    }
}
Войдите в полноэкранный режим Выход из полноэкранного режима

Вам нужна лишь небольшая функция, которая:

  • Создает объект с содержимым поста, указывая необходимые атрибуты.
  • Выполните POST-вызов конечной точки https://dev.to/api/articles.
  • Использует маркер авторизации
  • Верните 200, если все прошло успешно, или 500 в противном случае

Чтобы получить ApiKey, вы должны в своем аккаунте dev.to войти в Settings -> Extensions и прокрутить страницу до конца, нажать на Generate API Key и вы получите то, что вам нужно.


✉️ Присоединяйтесь к Micro-bytes 🐦 Следите за мной в Twitter ❤️ Поддержите мою работу

Оцените статью
devanswers.ru
Добавить комментарий