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

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

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

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

XML mit .NET

XML ist eines der bekanntesten Datenaustauschformate. XML bedeutet Extensible Markup Language und erlaubt das Speichern von Daten in Textdateien mit einem hierarchisch strukturierten Format. Dies wird zum Beispiel in den Konfigurationsdateien eines Visual Studio-Projekts genutzt – und auch XAML, die Sprache zum Definieren von WPF-Benutzeroberflächen, ist auf XML aufgebaut. Wenn Daten zwischen zwei nicht kompatiblen Systemen ausgetauscht werden sollen, kommt oft XML zum Einsatz. Auch wenn Sie Daten von einem Webservice abrufen wollen, kommen die Daten in vielen Fällen im XML-Format. Je nach Webservice können Sie diesem auch Daten im XML-Format schicken, die dann etwa durch Speichern in einer Datenbank weiterverarbeitet werden. Grund genug, sich XML einmal genauer anzusehen und zu schauen, welche Möglichkeiten .NET für das Lesen, Bearbeiten und Erstellen von XML-Dokumenten bietet.

Weiterlesen

XML-Dokumente schnell lesen mit XmlReader

Unter .NET gibt es verschiedene Methoden und Klassen, mit denen Sie auf die Daten in XML-Dokumenten zugreifen können. Diese nutzen Sie je nach Einsatzzweck. Wenn Sie sehr große Dateien einlesen wollen, bietet sich die XmlReader-Klasse an. Mit dieser durchlaufen Sie das XML-Dokument sequenziell, das heißt, Element für Element. Dieser Artikel zeigt, wie Sie mit den Methoden der XmlReader-Klasse auf die Elemente eines XML-Dokuments zugreifen. Außerdem schauen wir uns an, wie Sie die eingelesen Inhalte in Objekte schreiben können, über die Sie die Inhalte dann in die Tabellen einer Datenbank eintragen.

Weiterlesen