Как выполнять вызовы API в Python с аутентификацией Bearer Token

Сегодня всем приложениям требуются API для хранения баз данных, получения внешней информации или для целей аутентификации. Вы наверняка уже сталкивались с этим словом при разработке приложений на Python. Здесь мы обсудим, как делать вызовы API с использованием аутентификации Bearer Token.

Аутентификация Bearer Token — это метод аутентификации API-запросов путем включения токена в заголовки запросов. Он упрощает процесс аутентификации, устраняя необходимость отправлять учетные данные с каждым запросом. Чтобы использовать аутентификацию Bearer Token, сначала получите токен от поставщика API, обменявшись учетными данными клиента через протокол аутентификации, например OAuth 2.0. Затем включите токен в заголовок «Авторизация» ваших API-запросов

Понимание аутентификации токена на предъявителя

Аутентификация Bearer Token — это тип аутентификации, который включает отправку токена с каждым запросом API. Это важно для приложения, поскольку оно аутентифицирует пользователя и позволяет нам получать доступ к данным из бэкэнда. Если вы работали с API, вы, должно быть, использовали традиционный метод API, который требовал отправки учетных данных с каждым запросом. Но в аутентификации Bearer Token мы отправим токен, который может упростить весь процесс.

Получение токена на предъявителя

Перед выполнением вызовов API необходимо получить токен от поставщика API. Сначала настройте приложение с поставщиком API и получите все учетные данные, такие как идентификатор клиента и секрет клиента. Затем обменяйте свои учетные данные на токен носителя, используя протокол аутентификации OAuth 2.0 или другие указанные методы.

Выполнение вызовов API с помощью токена на предъявителя в Python

Получив токен, вы можете начать выполнять вызовы API в Python.

Установите необходимые библиотеки

Сначала мы установим библиотеку requests. Эта библиотека запросов обычно используется для создания HTTP-запросов в Python, поэтому ее следует импортировать в исходный код. Добавьте следующий код в терминал или командную строку.

pip3 install requests

Импорт библиотек

Во-вторых, мы импортируем библиотеку запросов в ваш скрипт Python.

import requests

Создание API-запроса

Теперь мы создадим API-запрос с соответствующим HTTP-методом, URL, заголовками и полезной нагрузкой.

url = 'https://api.example.com/resource'
headers = {
    'Authorization': 'Bearer YOUR_BEARER_TOKEN',
    'Content-Type': 'application/json'
}
response = requests.get(url, headers=headers)

Здесь я взял пример ссылки API из ‘URL’. Добавьте свой токен носителя вместо «YOUR_BEARER_TOKEN» внутри ‘headers’. Наконец, мы создаем ответ, который извлекает данные, отправляя запрос GET (URL и заголовок).

Обработка ответов API с помощью токена на предъявителя

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

if response.status_code == 200:
    data = response.json()
else:
    print('Error:', response.status_code)

Здесь мы проверяем код состояния. Если код состояния равен 200, это означает, что извлечение данных прошло успешно. Таким образом, внутри блока if необходимо добавить логику для обработки данных ответа API. После получения данных в формате JSON можно попробовать преобразовать их в Integer или другой тип данных. Код выведет ошибку внутри другого блока, если при извлечении данных возникнет какая-либо ошибка.

Пример: запрос GET с токеном на предъявителя

Здесь я покажу вам, как сделать простой запрос GET с использованием Bearer Token. Это поможет вам сформировать код для других типов запросов, таких как POST и т. д.

Давайте возьмем пример API, например TMDB, который предоставляет рекомендации по фильмам, телешоу и т. д. Сначала создайте свой логин в TMDB и получите Bearer Token Key в разделе API. Во-вторых, мы запросим конечную точку (жанр/фильм/список), чтобы получить список жанров, поддерживаемых TMDB. Для справки я также предоставляю официальную ссылку на TMDB, которая находится по адресу («https://developer.themoviedb.org/docs/getting-started»).

import requests

url = "https://api.themoviedb.org/3/genre/movie/list?language=en"

headers = {
    "accept": "application/json",
    "Authorization": "Bearer_Token"
}

response = requests.get(url, headers=headers)

print(response.text)

выход1

Здесь вы должны добавить свой Bearer Token Key вместо «Bearer_Token». Затем ответ извлечет данные с помощью запроса GET, содержащего заголовок и URL. Наконец, мы выведем данные на печать, чтобы проверить, работают ли они. Поскольку мы можем ссылаться на ответ, у нас есть разные жанры с их соответствующими genre_id. Таким образом, мы можем извлечь данные из любой конечной точки API, используя метод запроса GET.

Как преобразовать учетные данные API в токен на предъявителя?

Во-первых, чтобы преобразовать учетные данные API, аутентифицируйте приложение с помощью OAuth 2.0 или аналогичного механизма аутентификации. Отправьте свои учетные данные клиента в обмен на токен носителя.

Какие различные методы можно использовать при аутентификации с помощью токена на предъявителя?

Мы можем использовать различные методы HTTP, такие как GET, POST, PUT и DELETE, для обработки данных, поступающих из API. Bearer Token — это просто способ, которым клиент аутентифицируется на сервере. В остальном он работает аналогично традиционным методам.

Краткое содержание

Bearer Token — более безопасный и простой подход к аутентификации пользователей с сервера. Сначала получите Bearer Token от поставщика API, чтобы совершать вызовы API с Bearer Token. Затем создайте запросы API, используя различные методы HTTP, такие как GET, POST и другие. Наконец, после получения ответа обработайте данные в соответствии с потребностями приложения.

Ссылки

requests · PyPI

Что такое OAuth 2.0 и что он вам дает? – Auth0