Führen Sie einen API-Aufruf mit Token in Python durch

Oluwafisayo Oluwatayo 15 Februar 2024
  1. API-Aufruf ohne Token in Python durchführen
  2. API-Aufruf mit Token in Python durchführen
  3. Abschluss
Führen Sie einen API-Aufruf mit Token in Python durch

Als wir zum ersten Mal auf die Frage stießen, wie man eine API in Python aufruft, war unser erster Gedanke: Was ist eine API?.

Eine API ist ein Akronym für Application Programming Interface; Damit können Sie auf die Daten der Software zugreifen, ohne unbedingt darauf zugreifen zu müssen. Wenn beispielsweise eine Kryptowährungs-API aufgerufen wird, erhalten wir direkt in unserer App Zugriff auf Kryptopreise, ohne die Krypto-Website oder -App zu besuchen.

Wenn wir eine API in Python aufrufen, können wir dies mit einem Token und ohne Token tun, wenn wir es ohne Token tun, ist die API nicht sicher, aber im Fall der Verwendung von Token dient sie als Passwort und Benutzername für den Zugriff auf die Token.

Wir werden Beispiele für beide Fälle betrachten.

API-Aufruf ohne Token in Python durchführen

Für den Kickstart müssen wir zunächst eine Python-Bibliothek installieren, um diese Anfrage zu verarbeiten. Geben Sie im Terminal pip install requests ein, erstellen Sie eine neue Datei und nennen Sie sie new.py. Dann geben wir diese Codes ein:

new.py:

import requests
import json


class MakeApiCall:
    def get_data(self, api):
        response = requests.get(f"{api}")
        if response.status_code == 200:
            print("call successful")
            self.formatted_print(response.json())
        else:
            print(f"error {response.status_code} in fetching request")

    def get_user_data(self, api, parameters):
        response = requests.get(f"{api}", params=parameters)
        if response.status_code == 200:
            print("data fetch success")
            self.formatted_print(response.json())
        else:
            print(f"error {response.status_code} in fetching request")

    def formatted_print(self, obj):
        text = json.dumps(obj, sort_keys=True, indent=4)
        print(text)

    def __init__(self, api):
        parameters = {"site": "stackoverflow"}
        self.get_user_data(api, parameters)


if __name__ == "__main__":
    api_call = MakeApiCall("https://api.stackexchange.com/2.2/info")

Das erste Snippet behandelt den Anruf; Sobald der Aufruf erfolgreich ist, wird das Ergebnis gedruckt, und nachdem die Daten erfolgreich abgerufen wurden, wird das Ergebnis gedruckt. andernfalls druckt es den Fehler, dann sollte es die Daten drucken, die von der API abgerufen werden.

Dann ist die letzte Zeile der API-Link, von dem wir die Daten abrufen. Nachdem Sie auf Ausführen geklickt haben, warten Sie einen Moment, und Sie sehen die Daten, die im Terminal abgerufen werden.

API-Aufruf ohne Token in Python durchführen

API-Aufruf mit Token in Python durchführen

Wie bereits erwähnt, bedeutet das Erstellen einer API mit Token, dass wir eine sichere Verbindung zu der API herstellen, auf die wir zugreifen möchten. Wir müssen ein paar Abhängigkeiten von pip installieren.

Wir müssen zuerst ein Token generieren und dafür jwt einsetzen. Geben Sie im Terminal pip install jwt ein.

Öffnen Sie eine neue Datei, nennen Sie sie jwt.py und geben Sie den folgenden Code ein, um ein Token zu generieren.

jwt.py:

import jwt

encoded_jwt = jwt.encode({"some": "payload"}, "secret", algorithm="HS256")
print(encoded_jwt)

Als nächstes werden wir requests installieren, um API-Aufrufanfragen zu verarbeiten. Wir geben im Terminal pip install requests ein.

Dann erstellen wir eine Datei, nennen sie new.py und geben diese Codes ein:

new.py:

import requests

BASE_URL = "https://www.boredapi.com/api/activity"
token = "your jwt token"

headers = {"Authorization": "Bearer {}".format(token)}
auth_response = requests.get(BASE_URL, headers=headers)

print(auth_response.json())

Klicken Sie auf Ausführen, und Sie sehen die Daten, die von der API im Terminal abgerufen wurden.

API-Aufruf mit Token in Python durchführen

Abschluss

Wenn wir ein ernsthafteres Projekt durchführen möchten, sollten wir die API idealerweise mit einem Token für zusätzlichen Schutz aufrufen. Während jwt eine einfache Möglichkeit bietet, Token zu generieren, gibt es andere Möglichkeiten, wie wir Token generieren können.

Oluwafisayo Oluwatayo avatar Oluwafisayo Oluwatayo avatar

Fisayo is a tech expert and enthusiast who loves to solve problems, seek new challenges and aim to spread the knowledge of what she has learned across the globe.

LinkedIn

Verwandter Artikel - Python Requests