Teil 3: Die Reichweite erweitern

In Teil 3 des Tutorials werden Sie ein Robots-Skript mit der Bibliothek „Python Requests“ verwenden, um sich mit der HighBond-API zu verbinden. Sie verbinden sich auch mit zwei unterschiedlichen APIs von Drittanbietern. Eine gibt die Datumswerte offizieller Feiertage zurück und die andere Wechselkurse von Währungen.

Die Bibliothek „Requests“ ist eine Python-Komponente, die Ihnen ermöglichen, Python für API-Anfragen und den Erhalt der Antworten zu verwenden. Sie kann zur Interaktion mit allen REST-APIs verwendet werden.

Hinweis

Sie müssen den Robot in Teil 1 und das Skript in Teil 2 bereits erstellt haben, bevor Sie den Anfang von Teil 3 durchführen können. Im späteren Verlauf von Teil 3 (in dem Python mit der API eines Drittanbieters verwendet wird) brauchen Sie diese Voraussetzungen nicht mehr.

Was werde ich lernen?

Sie lernen Folgendes:

  • Bibliothek „Python Requests“ als alternative Möglichkeit verwenden, um HighBond-API-Anfragen durchzuführen

  • Bibliothek „Python Requests“ zur Interaktion mit einer API eines Drittanbieters verwenden und Daten aus der echten Welt in ein Robots-Skript bringen

Bibliothek „Python Requests“ mit der HighBond-API verwenden

Wir beginnen, indem wir die Bibliothek „Python Requests“ verwenden, um einen Teil Ihrer bisher erreichten Erfolge mit HCL-HighBond-API-Methoden zu replizieren.

Im Allgemeinen empfehlen wir HCL-Methoden zur Interaktion mit der HighBond-API, weil der dafür benötigte Code einfacher ist. Wir verwenden die Requests-Bibliothek in diesem Fall aus zwei Gründen:

  • Sie können die Requests-Bibliothek in einem bereits bekannten Zusammenhang kennenlernen, bevor Sie Requests mit der API eines Drittanbieters verwenden.

  • Wenn Sie Erfahrung mit Python und Requests haben, ziehen Sie es möglicherweise vor, weiterhin einen bekannten Ansatz zu verwenden.

HCL-Methoden können nur mit der HighBond-API verwendet werden. Sie müssen Requests für die Verbindung aus einem Python/HCL-Skript zu einer API eines Drittanbieters verwenden.

HighBond-API-Token abrufen und die Kennwortvariable aktualisieren

Bestehendes Robots-Skript zur Nutzung von Requests aktualisieren

Im bestehenden Skript müssen Sie nicht viel ändern, um Requests zu verwenden. Wir verwenden weiterhin HCL-Methoden in den Skriptzellen, die eine Sammlung und eine Analyse in der Ergebnisse-App finden oder erstellen. Wir verwenden Requests-Methoden in der Zelle, die eine Ergebnisse-App-Tabelle findet oder erstellt.

Nehmen Sie im Skript alle Änderungen vor, die in der folgenden Tabelle aufgeführt sind.

Hinweis

Haben Sie den HighBond-API-Token abgerufen und die Kennwortvariable aktualisiert?

Falls ein Python-Fehler auftritt (ein roter Fehlerblock), lesen Sie Problembehandlung.

Zellennr. Anweisungen
Zelle 1

Erforderliche Komponenten importieren

Aktualisieren Sie den Code in Zelle 1, um zwei zusätzliche Python-Bibliotheken zu importieren:

  • Requests

  • JSON

Zelle 2

Variablen definieren, die im Skript verwendet werden

  1. In Zelle 2 aktualisieren Sie Test table 2 (Zeile 16) auf Test table 3 :

    v_table_name = f"Test table 3 ({current_month})"
  2. Fügen Sie nach v_collection_id = None (Zeile 23) zwei neue Zeilen ein und definieren Sie neue Variablen für Ihre HighBond-API-URL und Ihre Org-ID. Geben Sie jede Variablendefinition in einer separaten Zeile ein.

    HighBond-API-URL

    v_api_url = "your HighBond-API URL"

    Ersetzen Sie your HighBond-API URL durch Ihre tatsächliche HighBond-API-URL. Beispiel:

    v_api_url = "https://apis-us.highbond.com"

    Hinweis

    HighBond-API-URLs unterscheiden sich in Abhängigkeit von der Diligent One-Region. Um die URL zu finden, die Ihrer Region entspricht, suchen Sie in der HighBond-API-Referenz nach API-Regionen.

    Org-ID

    v_org_id = "your org ID"

    Ersetzen Sie your org ID durch Ihre tatsächliche Org-ID. Beispiel:

    v_org_id = "11594"

    Tipp

    In der URL in der Adressleiste finden Sie Ihre tatsächliche Org-ID oben im Skript-Editor. Sie ist die erste Zahl in der URL, nach /orgs/ .

  3. Führen Sie die Zelle aus.

Zelle 3

Sammlung in der Ergebnisse-App finden oder erstellen

  1. Ändern Sie an dieser Zelle nichts.

  2. Führen Sie die Zelle aus.

Zelle 4

Analyse in der Ergebnisse-App finden oder erstellen

  1. Ändern Sie an dieser Zelle nichts.

  2. Führen Sie die Zelle aus.

Zelle 5

Tabelle in der Ergebnisse-App erstellen

Ersetzen Sie den Code in Zelle 5 mit dem folgenden Codeblock.

Zwei Python-Requests-Methoden stellen die API-Anfragen:

  • requests.get – Ruft eine Liste aller Tabellen in der Analyse ab

  • requests.post – Wenn der angegebene Tabellenname in der Analyse nicht existiert, wird eine Tabelle mit diesem Namen erstellt.

Lesen Sie die Kommentare im Code. Dort wird detailliert erklärt, wie wir die Bibliothek „Python Requests“ verwenden.

Zelle 6

Datenanalyse durchführen

  1. Ändern Sie an dieser Zelle nichts.

  2. Führen Sie die Zelle aus.

Zelle 7

Ausgabe der Datenanalyse in der Ergebnisse-App-Tabelle speichern

  1. Ändern Sie an dieser Zelle nichts.

  2. Führen Sie die Zelle aus.

Die neue Tabelle in der Ergebnisse-App suchen

Schauen wir in der Ergebnisse-App nach, ob die neue Tabelle mit Python-Requests erstellt wurde.

Vorherigen Tabellennamen wiederherstellen

Wenn Sie noch immer die geplante Aufgabe ausführen, die Sie in Teil 2 des Tutorials erstellt haben, sollten Sie den vorherigen Tabellennamen im Skript wiederherstellen.

In Zelle 2, Zeile 16, aktualisieren Sie den Namen auf Test table 2 oder auf den Namen, den Sie vorher verwendet haben:

v_table_name = f"Test table 2 ({current_month})"

Skript speichern und Skript-Editor beenden

Bibliothek „Python Requests“ zusammen mit der API eines Drittanbieters verwenden

Gut, Sie haben die Bibliothek „Python Requests“ nun in Aktion erlebt. Jetzt sind Sie für den letzten Schritt des Tutorials bereit: Robots-App, Python und die Bibliothek „Python Requests“ zur Interaktion mit einer API eines Drittanbieters verwenden und Daten aus der echten Welt in ein Robots-Skript bringen.

Die APIs, mit denen wir uns verbinden

Wir verwenden zwei unterschiedliche, öffentlich verfügbare APIs, um die Verbindung zu üben:

  • Nager.Date – ein Repository, das Datumswerte offizieller Feiertage nach Jahren in über 100 Ländern enthält

  • Open Exchange Rates – eine API mit Währungsdaten, die für 170 Währungen Wechselkurse liefert

Authentifizierung

Wie die HighBond-API verlangen die meisten öffentlichen APIs, dass Sie sich authentifizieren, wenn Sie eine Anfrage an die API senden. Nager.Date setzt keine Authentifizierung voraus, weshalb wir diese API zuerst als einfachste Option verwenden. Open Exchange Rates verlangt eine Authentifizierung. Der Prozess zur Erstellung eines kostenlosen Kontos und für den Abruf eines Authentifizierungstokens ist einfach.

Neues Robots-Skript zur Nutzung von Requests erstellen

Erstellen wir nun einen neuen Robot mit einem neuen Skript, das Ihre Übung mit Python-Requests und APIs von Drittanbietern aufnehmen wird.

Mit Nager.Date verbinden

Wir nehmen eine Verbindung mit der Nager.Date-API auf und geben die Datumswerte und andere Informationen aller offizieller Feiertage für ein bestimmtes Jahr und Land zurück. Manchmal benötigen Sie die Datumswerte von offiziellen Feiertagen, wenn Sie eine Analyse von Transaktionsdaten durchführen.

Pandas-Datenrahmen konvertieren

Die Daten werden im JSON-Format zurückgegeben. Damit die Daten übersichtlicher sind, konvertieren wir sie von JSON in einen Pandas-Datenrahmen. Beachten Sie jedoch, dass zurückgegebene Daten eines Skripts nicht in einen Datenrahmen konvertiert werden müssen. Je nach der Logik eines Skripts kann ein Datenrahmen der beste Ansatz sein oder auch nicht.

Codeblöcke bestehendem Skript hinzufügen

Aus der folgenden Tabelle kopieren Sie jeden Codeblock in eine separate Zelle innerhalb des Skript-Editors.

Hinweis

Falls ein Python-Fehler auftritt (ein roter Fehlerblock), lesen Sie Problembehandlung.

Zellennr. Anweisungen
Zelle 1

Erforderliche Komponenten importieren

Der Code in Zelle 1 importiert zwei Python-Bibliotheken:

  • Requests

  • Pandas

Zelle 2

API-Anfrage durchführen

In Zelle 2 nehmen wir eine Verbindung mit der Nager.Date-API auf und geben offizielle Feiertage für ein bestimmtes Jahr und Land zurück.

Beispiel für die Antwort der Nager.Date-API

Wenn Sie die GET-Anfrage nicht aktualisiert haben, werden alle offiziellen Feiertage der Vereinigten Staaten im Jahr 2021 zurückgegeben. Über das genaue Datum des Feiertags hinaus werden andere nützliche Informationen zurückgegeben, z.B. welche Gerichtsbarkeiten Feiertage einhalten, die nicht im gesamten Land gelten.

Erfahren Sie mehr

Aktualisieren Sie die GET-Anfrage (Zelle 2, Zeile 4), um gesetzliche Feiertage eines anderen Jahres oder Landen zurückzugeben. Über das aktuelle Jahr hinaus können Sie auch Daten für frühere oder spätere Jahre zurückgeben.

Diese GET-Anfrage gibt z.B. Feiertage in Brasilien für 2020 zurück:

response = requests.get("https://date.nager.at/api/v3/publicholidays/2020/BR")

Tipp

Die unterstützten Ländercodes finden Sie auf der Website Nager.Date.

Mit Open Exchange Rates verbinden

Nun verbinden wir uns mit der Open-Exchange-Rates-API und geben die aktuellen Wechselkurse für alle Währungen zurück, die die API unterstützt. Sie benötigen möglicherweise Wechselkurse, wenn Sie Finanzdaten analysieren.

Open Exchange Rates gibt Wechselkurse zu bestimmten Zeitpunkten zurück, wobei die Quelle stündlich aktualisiert wird.

Pandas-Datenrahmen konvertieren

Die Daten werden im JSON-Format zurückgegeben. Damit die Daten übersichtlicher sind, konvertieren wir sie von JSON in einen Pandas-Datenrahmen. Beachten Sie jedoch, dass zurückgegebene Daten eines Skripts nicht in einen Datenrahmen konvertiert werden müssen. Je nach der Logik eines Skripts kann ein Datenrahmen der beste Ansatz sein oder auch nicht.

Kostenloses Open Exchange Rates-Konto erstellen

Zuerst müssen Sie ein kostenloses Open Exchange Rates-Konto erstellen und Ihren Authentifizierungstoken abrufen.

Kennwortvariable für Open Exchange Rates-Token erstellen

Bevor Sie mit dem Erstellen des Skripts beginnen, erstellen Sie eine Kennwortvariable für den Open Exchange Rates-Token.

Bestehendem Skript Codeblocks hinzufügen

Aus der folgenden Tabelle kopieren Sie jeden Codeblock in eine separate Zelle innerhalb des Skript-Editors.

Hinweis

Falls ein Python-Fehler auftritt (ein roter Fehlerblock), lesen Sie Problembehandlung.

Zellennr. Anweisungen
Zelle 3

API-Anfrage durchführen

In Zelle 3 verbinden Sie sich mit der Open-Exchange-Rates-API und geben die neuesten Wechselkurse zurück.

Zelle 4

Zurückgegebene Informationen den Variablen zuweisen

In Zelle 4 weisen Sie den Variablen bestimmte Kurse zu. Sie könnten dann die Variablen in späteren Datenanalysen verwenden, die Wechselkursumrechnungen benötigen.

Erfahren Sie mehr

Um nur eine Untermenge der verfügbaren Wechselkurse zurückzugeben, fügen Sie der GET-Anfrage für den Wechselkurs (Zelle 3, Zeile 7) einen Parameter mit einer Abfragezeichenfolge hinzu:

&symbols=comma-separated list of ISO currency codes

Diese GET-Anfrage gibt zum Beispiel die Wechselkurse von nur fünf Währungen zurück: chinesischer Yuan, Euro, britisches Pfund, mexikanischer Peso und US-Dollar:

response = requests.get(f"https://openexchangerates.org/api/latest.json?app_id={oxrtoken}&symbols='CNY','EUR','GBP','MXN','USD'")

Beispiel für die Antwort der Open-Exchange-Rates-API

Wenn Sie die Währungscodes im obigen Beispiel verwenden, erhalten Sie nun einen Datenrahmen, der nur die von Ihnen festgelegten Wechselkurse enthält.

Skript speichern und Skript-Editor beenden

Speichern Sie Ihre abgeschlossene Arbeit am Tutorial und verlassen Sie das Skript.

Was Sie gelernt haben

Herzlichen Glückwunsch! Sie haben systemeigenes Skripting in der Robots-App mit der Bibliothek „Python Requests“ verwendet, um mehr als Diligent One zu verwenden.

Insbesondere haben Sie Folgendes gelernt:

  • Bibliothek „Python Requests“ als alternative Möglichkeit verwenden, um HighBond-API-Anfragen durchzuführen

  • Bibliothek „Python Requests“ zur Interaktion mit einer API eines Drittanbieters verwenden und Daten aus der echten Welt in ein Robots-Skript bringen

Wie geht's weiter?

Brechen Sie in die weite Welt aus

Brechen Sie mit öffentlich verfügbaren APIs in die weite Welt aus. Sie kennen nun den notwendigen Prozess zur Verbindung der Robots-App mit einer REST-API. Es gibt Tausende APIs weltweit. Einige hiervon sind für Sie von Interesse oder enthalten Informationen, die Ihnen helfen können, Ihre Automatisierungsziele umzusetzen. Viele APIs sind kostenpflichtig, doch viele bieten auch eine kostenlose Möglichkeit mit verringerten Funktionen, damit Sie sie ausprobieren können.

Tipp

Laden Sie einen API-Client wie Postman oder Insomnia herunter, damit Sie API-Anfragen und -Antworten unabhängig von Diligent One testen können. Postman enthält eine nützliche Funktion zur automatischen Erstellung von Python-Quellcode für eine bestimmte Anfrage.

Dynamische Berichte einrichten

Unter Umständen haben auch einige Unternehmenssysteme Ihrer Organisation APIs, mit denen Sie Daten abrufen können, z.B. für Berichtszwecke. Die Techniken, die Sie im Tutorial gelernt haben, sind ein guter Ausgangspunkt, um eine automatisierte Berichtspipeline einzurichten. Sie beginnt bei einem Unternehmenssystem und läuft über eine API an die Robots-App, die Ergebnisse-App und die Storyboards-App.

Zusammenarbeiten

Wenn Sie noch keine Programmierungskenntnisse haben, können Ihnen vielleicht andere Personen in Ihrer Organisation helfen. IT-Personal und Systemadministratoren können oft bei der Authentifizierung bei Unternehmenssysteme helfen. Nehmen Sie Verbindung mit Experten auf und lernen Sie im Laufe der Zeit dazu.

 

Erfahren Sie mehr

Problembehandlung

Falls ein Python-Fehler auftritt (ein roter Fehlerblock), wenn Sie eine Zelle oder das gesamte Skript ausführen, durchlaufen Sie die unten angegebene Fehlersuche.