Рубрики
Без рубрики

Мой первый проект Python: Auto-publish to dev API

Мой первый проект Python, как я изучаю навыки программирования, я думал, что это хорошая идея … Помечено новичками, Python, писать, API.

Мой первый проект Python

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

Мое оружие выбора, конечно, является Питон.

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

Проект, который я выбрал, это построить – это приложение для публикации автоматизации. Как новый технический писатель, публикация всех различных платформ, которые мы используем, становится работой самостоятельно. Войдите в каждый сайт, редактирование форматирования детали и настройка всех различных конфигураций, таких как теги, и канонический URL (который я только недавно обнаружил) просто занимает слишком много времени, которое может быть лучше использовать обучение, как кодировать.

Одним из моих пособивых причин обучения, как кодировать, кроме моей работы, является начать автоматизировать некоторые из моих временных повторяющихся задач. Глядя на то, как я провожу свое время, я понял, что многие вещи действительно могут быть автоматизированы, если бы я только знал, как только для кодирования.

Поэтому я начал с этого проекта как мой первый. Я знаю, что это может занять некоторое время, прежде чем я действительно могу использовать его Но я знаю, что когда это сделано (это может стать бесконечным проектом со всеми функциями, которые я так оптимистично добавляю каждый день) У меня будет больше времени и навыков, чтобы начать строить больше приложений автоматизации. Кто знает, что еще я буду строить дальше, небо действительно предел, когда вы знаете, как использовать инструменты.

Где я с моим проектом?

Ну, я прыгнул в глубокий конец, как я обычно делаю и начал выяснить, как я могу опубликовать эти платформы, и я нашел API. Apphat? Да, я все еще узнаю о списках, кортежи и словарям И тогда я начинаю свой проект, подключив к API. Я знаю, что я склонен всегда ошибаться на более амбициозной стороне Но эй, это не будет проблемой, если бы это было произвольное число, генерирующее приложение.

Также мы на одном уровне, что такое API?

API означает для интерфейса программирования приложений, это программный посредник, который позволяет двум приложениям говорить друг с другом (спасибо Google). Я вижу это как переводчик, который позволяет вам взаимодействовать с сервером через заранее определенный набор правил. Таким образом, вы можете отправлять инструкции на URL-адрес, который настроен для приема определенных команд и выполняет определенную работу на основе заданных команд и параметров. Независимо от языка, который вы используете, API может понять, что вы спрашиваете, и это переводит ваш запрос на сервер. Затем сервер реагирует через API, чтобы API мог вернуться обратно на исходную вечеринку.

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

Публикация через DEV.TO API

Поэтому я начал с Dev.to, как это, безусловно, мое любимое место для публикации моих статей. Я нашел Документация На Dev.to API и начал взломать бесконечно, пока мне не удавалось работать. Ну, несколько часов Но это было бесконечно.

Теперь мой приложение Auto-Publisher может опубликовать статьи на dev.to, мне нужно только написать и запустить программу. Теперь я могу счастливо написать в VIM или VSCode или любом текстовом редакторе в этом отношении и сообщите моему приложению, файл markdown, который я хочу опубликовать и бум, это делает все это для меня.

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

  • Первая и самая важная запись статьи и сохранить его в формате Markdown.

  • Включите переднюю вещество в верхней части тела вашей статьи. Это где я устанавливаю теги, канонический URL и так далее. Вы также можете установить их с параметрами в своем запросе, но мне было легче оставить их пустыми в запросе и просто настроить их в каждой статье. ПРИМЕЧАНИЕ. Если разметка содержит переднюю вещество, он будет иметь приоритет на эквивалентных парамах, приведенных в полезной нагрузке.

---
title: Hello, World!
published: true
tags: beginners, replit
date:
series:
canonical_url:
cover_image: 
---

# Article Heading 

Rest of your article
  • Создайте файл Python, импортируйте Запросы Библиотека и напишите код, который получает содержимое из вашего файла и копирует его в переменную, которую мы будем использовать в качестве тела.
import requests

filename = input('File Name:')

f = open(filename, 'r')

body_markdown = f.read()
  • Настройте переменные подключения => URL, API_KEY, Body_markdown (определено выше). Ключ API уникален для каждого пользователя. Вы можете генерировать ваши на странице настроек dev.to под учетной записью -> клавиши API dev
url = "https://dev.to/api/articles"
api_key='eXUXQXpX5XVXXyXaXwX4XgXA'
  • Тогда у меня есть определена функция, которая делает магию. Как вы увидите create_article () Функция принимает все параметры, которые уже встраиваются в вашу статью, поэтому все они по умолчанию для Нет Отказ Если вы решите скорее установить их здесь, вы можете, однако, просто помните, что если ваш файл содержит фронт -тацию, они будут игнорироваться.
def create_article(
        title,
        body_markdown="",  # must default to empty string instead of None otherwise dev.to raises error on edit
        published=None,
        series=None,
        main_image=None,
        canonical_url=None,
        description=None,
        tags=None,
        organization_id=None,
    ):
        """Create an article
        :param title: Title
        :param body_markdown: Article Markdown content
        :param published: True to create published article, false otherwise
        :param series: Article series name
        :param main_image: Main image (or cover image)
        :param canonical_url: Canonical Url
        :param description: Article Description
        :param tags: List of article tags
        :param organization_id: Organization id
        :return: newly created article
        """

        data = {
            "title": title,
            "body_markdown": body_markdown,
            "series": series,
            "published": published,
            "main_image": main_image,
            "canonical_url": canonical_url,
            "description": description,
            "tags": tags,
            "organization_id": organization_id,
        }
        # remove None keys from dict
        data = {k: v for k, v in data.items() if v is not None}
        response = requests.post(url, json=data, headers={"api-key":api_key}).json()
        if response.get("id") == None:
            print('Error Article not published')
        else:
            print('Article Posted. ID:{} /n Created at:{}'.format(response.get("id"),response.get("created_at")))
  • Тогда я называю create_article () Функция, пройти пустой заглавие Как это уже определено в рамках файла, а затем пройти body_markdown который содержит контент.
create_article('',body_markdown)
  • Функция поставит все вместе и опубликовать свою статью с помощью этой строки кода Response.post (URL ,, Заголовки = {"API-ключ": API_KEY}). JSON () Отказ Если успешный ответ даст вам идентификатор статьи и дату и время его созданного. Если он не удается, это только печатает сообщение об ошибке, но вы также можете распечатать фактический ответ, если вы хотите увидеть, что пошло не так.

Это для интеграции dev.to. Теперь я ухожу, чтобы учиться еще немного Так что я могу добавить больше платформ и функций. Я определенно обращу особое внимание API, когда они сталкиваются с моим учебным путем, выглядит так, будто я буду работать с ними чаще, чем я думал.

Оригинал: “https://dev.to/eugenedorfling/my-first-python-project-auto-publish-to-dev-api-2g5”