Google-Authentifizierung mit OAuth2, Update

In den beiden Artikeln “OAuth2-Token für Google per .NET-App holen” (www.vbentwickler.de/413) und “Google-Token per DLL holen” (www.vbentwickler.de/409) haben wir Techniken beschrieben, mit denen wir ein Google OAuth2-Token ermitteln können, das wir für den Zugriff auf die Google Rest API per VBA benötigen. Dazu haben wir das NuGet-Paket Google.Apis.Calendar.v3 verwendet. Leider funktionierte das Ermitteln des Access-Tokens mit dem Refresh-Token nicht wie gewünscht. Also stellen wir in diesem Artikel eine Erweiterung der Projekte aus den vorgenannten Artikeln vor, mit denen wir den Zugriff immer erneuern können – wenn auch jeweils auf Kosten einer erneuten Anmeldung über den Webbrowser.

Weiterlesen

Google Calendar programmieren – Vorbereitungen

Einer der kompliziertesten Vorgänge beim Zugriff auf Rest APIs und ähnliche Dienste ist das Ermitteln des für die Authentifizierung notwendigen Tokens. Bevor das überhaupt möglich ist, müssen wir jedoch eine App bei Google anlegen, die uns den Zugriff im Kontext des jeweiligen Benutzers erlaubt. Das einfache Anlegen einer App reicht dazu nicht aus – für das Abfragen des zum Anmelden notwendigen Tokens benötigen wir zwei Daten namens ClientID und ClientSecret. Wie wir das alles organisieren, zeigen wir im vorliegenden Artikel.Voraussetzung ist, dass bereits ein Google-Konto vorhanden ist, mit dem wir die App anlegen können. In weiteren Artikeln zeigen wir dann, wie wir ClientID und ClientSecret für die Abfrage des Tokens nutzen können wie wir damit schließlich auf die Rest-API von Google zugreifen können, um Daten des Google Calendars zu lesen, zu erstellen, zu bearbeiten und zu löschen.

Weiterlesen

OpenAI mit VBA

Schlagwörter wir OpenAI oder ChatGPT beherrschen die Schlagzeilen der Welt. Wir wollen nicht entscheiden, ob es gut oder schlecht ist. ob es Dir den Job wegnimmt oder eine super Unterstützung ist, sondern zeigen in diesem Artikel einfach, wie Du es per VBA steuern und in eigenen Anwendungen nutzen kannst. Dabei greifen wir auf die Rest API von OpenAI zu und ermöglich, dass Du die Antworten auf die mit der Anwendung eingegebene Frage nutzen kannst.

Weiterlesen

Texte übersetzen mit DeepL

Zum automatischen Übersetzen von Texten gibt es viele Anlässe. Vielleicht möchtest Du die Texte in einer Anwendung automatisch übersetzen lassen, damit Du selbst die Übersetzung nur noch prüfen und gegebenenfalls anpassen musst. Oder Du hast Texte in einer anderen Sprache, die Du gern in die deutsche Sprache übersetzen möchtest, um diese leichter lesen zu können. Wie auch immer: Es gibt zwar Dienste wie Google Translate, mit denen man das im Browser erledigen kann, aber wenn man viele oder umfangreiche Texte übersetzen lassen möchte, ist diese Lösung unbefriedigend. In diesem Fall bietet sich eine Automation des Vorgangs an. Und wie das geht, zeigen wir anhand eines der aktuell besten Übersetzungstools, nämlich DeepL. DeepL bietet ein API an, die wir per VBA oder mit anderen Programmiersprachen ansteuern können. Dieser Artikel stellt die Grundlagen dazu vor.

Weiterlesen

CSV-Datei in Klassen importieren

Unter Access war es einfach: Dort haben wir eine CSV-Datei oder auch Excel-Tabellen einfach als verknüpfte Tabelle eingebunden und konnten dann direkt auf die Daten zugreifen. Beispielsweise, um diese dann per Anfügeabfrage in die Zieltabelle zu schreiben. Unter Entity Framework ist das so nicht möglich. Natürlich könnte man das Öffnen der Datei von Hand realisieren und die einzelnen Elemente einlesen. Aber es gibt einen anderen, effizienteren Weg, den wir mit einem NuGet-Paket namens CsvHelper beschreiten können. Diese Klasse erlaubt es, die Zeilen einer CSV-Datei automatisch in die Elemente auf Basis einer entsprechenden Klasse einzulesen. Oder Sie können damit auch die Zeilen durchlaufen und die Inhalte auf Basis des Indexes oder der Spaltenüberschrift einlesen und weiterverarbeiten.

Weiterlesen

EDM-Daten in CSV exportieren

Im Artikel “CSV-Datei in Klassen importieren” haben wir bereits gezeigt, wie Sie die Daten aus CSV-Dateien in .NET-Anwendungen importieren und diese auf die enthaltenen Klassen aufteilen können. Dazu haben wir das NuGet-Paket CsvHelper verwendet. Im vorliegenden Artikel schauen wir uns den umgekehrten Weg an: Wie können wir die Daten aus den Objekten eines Entity Data Models in eine CSV-Datei exportieren Dazu setzen wir direkt an der Beispieldatenbank für den oben genannten Artikel an und speichern die darauf importierten Daten direkt wieder in eine neue CSV-Datei.

Weiterlesen

XML schreiben mit dem Document Object Model

Im Artikel “XML-Dokumente erstellen mit XmlWriter” haben wir beschrieben, wie Sie XML-Dokumente mit der XmlWriter-Klasse schreiben. Dort können Elemente nur sequenziell hinzugefügt werden. Die Methoden des Object Document Models erlauben eine wesentlich flexiblere Vorgehensweise. Dieser Artikel zeigt, wie Sie mit dem Document Object Model neue XML-Dokumente erstellen und Elemente der verschiedenen Typen hinzufügen und mit Daten füllen.

Weiterlesen

Bestellungen per XmlReader einlesen

Mit dem XmlReader durchlaufen Sie ein XML-Dokument Element für Element. Da dies recht unflexibel ist, müssen wir beim Einlesen verschachtelter XML-Dokumente umso flexibler programmieren. Dieser Artikel zeigt, wie Sie die Daten eines XML-Dokuments mit Kunden, Bestellungen, Bestellpositionen und Artikeln per XmlReader zuerst in ein Entity Data Model einlesen und die Daten von dort in den zugrunde liegenden Tabellen speichern.

Weiterlesen

XML-Dokumente erstellen mit XmlWriter

Im Artikel “XML-Dokumente schnell lesen mit XmlReader” haben Sie die Klasse XmlReader kennengelernt, mit der Sie schnell durch XML-Dokumente navigieren können. Damit können Sie zum Beispiel Exporte aus anderen Anwendungen in Ihre .NET-Anwendung importieren. Aber was, wenn Sie selbst einmal einen Export mit Ihren Daten im XML-Format bereitstellen wollen Dazu gibt es eine passende Klasse namens XmlWriter. Wie Sie damit XML-Dokumente erstellen und mit den gewünschten Daten füllen, erfahren Sie im vorliegenden Artikel.

Weiterlesen