Publier sur Dev.to depuis un serveur, avec 130 lignes de Python et zéro dépendance
说明与用途
使用130行Python脚本自动发布Dev.to文章,无需外部依赖,包括标题验证和标签过滤。
问题
Automatiser la publication d’articles Markdown sur Dev.to depuis un serveur sans dépendances ni SDK, afin de réduire la charge manuelle lorsqu’on publie plusieurs fois par semaine.
结果
Le script publie automatiquement les articles, évitant les erreurs de titre vide et de tags inconnus, et fonctionne sur un serveur sans dépendances externes.
工作流
- 1. Stocker la clé API dans un fichier .env et la charger via load_env.
- 2. Lire le fichier Markdown et extraire le front‑matter sans PyYAML.
- 3. Valider la présence d’un champ title avant toute requête réseau.
- 4. Filtrer les tags contre une liste blanche VALID_TAGS.
- 5. Construire la charge JSON et envoyer une requête POST à https://dev.to/api/articles avec l’en‑tête api‑key et User‑Agent.
- 6. Gérer les erreurs 403 (sans User‑Agent) et 422 (tags invalides).
证据
La clé API, dans l'en-tête api-key. Elle se génère dans les paramètres du compte Dev.to.
Un en-tête User-Agent. Sans lui, vous prenez un 403 et vous cherchez pendant vingt minutes pourquoi votre clé « ne marche pas ».
Un fichier sans champ title a été publié sous le titre « Sans titre ».
Dev.to n'accepte que des tags de sa liste. Un tag inconnu renvoie 422 — tag not found.
- 记录日期: 2026-11-02T11:14:09.970Z