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

Как использовать Hashnode API в Python.

Общественная бета -версия Hashnode GraphQL Public Beta была выпущена в 2019 году, чтобы позволить пользователям создавать приложения на основе … Tagged с помощью Hashnode, API, GraphQL, Python.

Общественная бета -версия Hashnode GraphQL Public Beta была выпущена в 2019 году, чтобы позволить пользователям создавать приложения на основе его. Даже если это был минимальный выпуск, у него есть много запросов и мутаций, которые можно использовать.

Сегодня мы узнаем, как использовать эти запросы API Hashnode в Python, чтобы получить максимальную отдачу от этого.

Шаги по созданию программы Python, чтобы получить данные пользователя с помощью API Hashnode GraphQL:

  • Создать запрос в GraphQL
  • Добавить запросы и заголовки в программу
  • Создайте функцию для запуска запроса JSON
  • Получите вывод как словарь JSON

Некоторые предпосылки

  • Убедитесь, что в вашей системе установлен модуль запросов, используя PIP установить запросы Анкет
  • Вам необходимо будет создать/отозвать токен личного доступа для цели аутентификации. Вы можете найти его в Настройки разработчика Hashnode Анкет

Персональный токен доступа похож на закрытый ключ к вашей учетной записи Hashnode. Вы можете использовать личный токен доступа для взаимодействия с вашей учетной записью Hashnode, используя наши API. Никогда не раскрывайте свои токены доступа и всегда держите их в частном порядке. Вы можете отозвать сгенерированные токены в любое время. @hashnode

Создание запросов в GraphQL

В этом уроке мы собираемся получить данные пользователя, такие как имя , Слоган , NumfOllowers , PublicationDomain , так далее. Таким образом, нам нужно будет создать запрос для тех, кто находится в GraphQL.

query {
  user(username: "magbanum") {
    username
    name
    tagline
    numFollowers
    publicationDomain
  }
}

Вы можете добавить больше свойств, таких как numfollowings , NumReactions , Место , фото , Covermage С помощью документов и схемы, доступных по адресу Hashnode GraphQL API Анкет

Пока давайте придерживаемся этого запроса. Вы можете заменить «Magbanum» своим собственным именем пользователя, чтобы получить персонализированные результаты.

Посетите https://api.hashnode.com/ и вставьте там приведенный выше запрос и нажмите кнопку «Воспроизведение», чтобы запустить скрипт. Вывод будет выглядеть так,

Добавление запросов и заголовков в программе Python

Теперь вы создали свой первый запрос в GraphQL, давайте использовать его в нашей программе Python.

Создайте файл Python с именем “hashnode-user.py”, вы можете назвать его все, что захотите, но давайте придерживаться “hashnode-user.py” для этого учебника.

Во -первых, импортировать Запросы модуль, добавив следующую строку,

import requests

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

headers = {
    "Authorization": "your_personal_access_token"
}

Создайте переменную с именем запрос Чтобы сохранить запрос, который мы создали в GraphQL в качестве многострочной строки.

query = """{
  user(username: "magbanum") {
    username
    name
    tagline
    numFollowers
    publicationDomain
  }
}"""

Функция для запуска запроса JSON

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

  • Создайте функцию с именем run_query который берет запрос и заголовки, которые мы создали в качестве аргументов.
  • Теперь опубликуйте запрос в переменной с именем Ответ с URL -адресом Hashnode API, запросы и заголовки в качестве параметров.
  • Если … else оператор используется для возврата вывода JSON, если код состояния составляет 200 Иначе поднимите исключение с кодом состояния. Узнайте больше о кодах статуса в HTTP -запросах Здесь Анкет

Функция будет выглядеть так,

def run_query(query, headers):
    response = requests.post(url="https://api.hashnode.com", json={'query': query}, headers=headers)
    if response.status_code == 200:
        return response.json()
    else:
        raise Exception("Query failed to run by returning code of {}. {}".format(response.status_code, query))

Кроме того, нам нужно вызвать нашу функцию и получить данные из нее. Добавьте несколько строк в программу, но вне функции.

result = run_query(query, headers)
print(result)

И мы все закончили. Окончательный код будет выглядеть так,

import requests

headers = {
    "Authorization": "your_personal_access_token"
}

def run_query(query, headers):
    response = requests.post(url="https://api.hashnode.com", json={'query': query}, headers=headers)
    if response.status_code == 200:
        return response.json()
    else:
        raise Exception("Query failed to run by returning code of {}.".format(response.status_code))

query = """{
    user(username: "magbanum"){
        username
        name
        tagline
        numFollowers
        publicationDomain
    }
}"""

result = run_query(query,headers)
print(result)

Теперь давайте запустим код.

>>> python hashnode-user.py
{'data': {'user': {'username': 'magbanum', 'name': 'Shantanu Nighot', 'tagline': 'Electrical engineer | Self-taught developer | Hashnode blogger', 'numFollowers': 2, 'publicationDomain': 'magbanum.tech'}}}

И посмотрите на это, мы только что использовали API Hashnode для сбора информации из профиля Hashnode. Вы можете видеть, что данные находятся в форме словаря и что, если мы не хотим всего словаря, кроме как его часть. Мы тоже можем это сделать. Это результат Словарь работает так же, как и словарь Python, поэтому мы сможем индексировать его ключи.

Например, если мы хотим получить слоган пользователя, нам просто нужно указать словарь «результат» как Результат ["DATA"] ["USER"] ["TAGLINE"] Анкет Замените последнюю строку в коде следующим образом,

print(result["data"]["user"]["tagline"])

Посмотрите на результат, вы получите свой собственный слоган, если замените «Magbanum» своим именем пользователя.

>>> python hashnode-user.py
Electrical engineer | Self-taught developer | Hashnode blogger

Этот вид действительно чистый и персонализированный. Попробуйте распечатать кучу других вещей, таких как имя , PublicationDomain и NumfOllowers Анкет

Мы успешно создали запрос в GraphQL, использовали его в нашей программе Python, создали функцию для запуска запроса и получили ожидаемые результаты. Это завершает учебник, и я надеюсь, что вы смогли использовать Hashnode API в своих программах Python.

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

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

Оригинал: “https://dev.to/magbanum/how-to-use-hashnode-apis-in-python-5b2f”