Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!
Wenn wir Daten eines Google-Kontos wie beispielsweise Google Calendar programmieren wollen, um diese abzurufen oder zu bearbeiten, benötigen wir verschiedene Dinge. Das erste ist eine Anwendung, die wir wie im Artikel “Google Calendar programmieren: Vorbereitungen” erläutern. Das erste Resultat ist die Definition einer Anwendung. Das zweite, wichtige Ergebnis sind zwei für den Zugang notwendige Daten, nämlich ClientID und ClientSecret. Mit diesen können wir dann online ein OAuth2-Token holen, das wir wiederum für den Zugriff auf die Rest-API von Google benötigen. Im vorliegenden Artikel zeigen wir, wie man ClientID und ClientSecret nutzt, um das begehrte Token auszulesen. Dazu erstellen wir eine COM-DLL, die wir von Office-Anwendungen, VB6 oder twinBASIC aus nutzen können, um über die Rest-API von Google beispielsweise auf Kalenderdaten zugreifen zu können.
OAuth2-Token – woher nehmen?
Das Objekt unserer Begierde für den Zugriff auf die Rest-API beispielsweise des Google Calendars ist ein sogenanntes Token. Um dieses zu erhalten, sind einige Voraussetzungen zu erfüllen.
Als Erstes müssen wir ein Projekt erstellen, in dessen Kontext wir auf die Rest-API zugreifen wollen. Ist dieses Projekt angelegt, erhalten wir von Google zwei Informationen: die ClientID und das ClientSecret. Wie wir an diese Informationen kommen, beschreiben wir im Artikel Google Calendar programmieren: Vorbereitungen (www.vbentwickler.de/408).
Nun wollen wir die Daten des Google Calendars für einen bestimmten Benutzer auslesen oder bearbeiten. Beziehungsweise möchten wir dem Benutzer eine Anwendung zur Verfügung stellen, mit der er auf seinen Google Calendar zugreifen kann. Damit dies gelingt, benötigt er ein Token. Dieses Token wird auf Basis von ClientID und ClientSecret unseres Projekts und einer Anmeldung des Benutzers mit seinen Benutzerdaten erzeugt. Diese Anmeldung erfordert die Anzeige eines Web-Dialogs von Google, wo der Benutzer seine Daten eingibt. Danach können wir das Token auslesen. All dies erledigen wir mit einer COM-DLL, wie wir sie in diesem Artikel beschreiben. Wir übergeben dieser die ClientID und das ClientSecret und ermitteln das Token. Beim ersten Aufruf muss der Benutzer seine Daten eingeben, danach erst wieder nach einer bestimmten Zeit – in der Zwischenzeit kann das einmal generierte Token verwendet werden.
Warum mit Visual Studio?
Warum erledigen wir diese Aufgabe mit einer COM-DLL auf Basis von .NET – können wir dies nicht mit VB, VBA oder twinBASIC programmieren? Das ist vielleicht möglich, aber unter .NET finden wir fertige Pakete, die das Ermitteln des Tokens wesentlich vereinfachen. Wir benötigen dazu lediglich ein NuGet-Paket, das wir dem Projekt hinzufügen und anschließend mit wenigen Codezeilen nutzen können.
Visual Studio als Administrator starten
Die benötigte COM-DLL erstellen wir also mit Visual Studio .NET. Damit wir es gleich von Visual Studio aus registrieren können, müssen wir dieses als Administrator starten – dabei hilft ein Rechtsklick auf den Eintrag Visual Studio 2022 (oder andere Version) und Auswahl des Befehls Als Administrator öffnen.
Neues Projekt erstellen
Als Erstes erstellen wir ein neues Projekt namens amvGoogleOAuth2 mit dem Typ Klassenbibliothek (.NET Framework). Die einzige Klasse, die wir nun im Projektmappen-Explorer vorfinden, benennen wir von Class1 in GoogleOAuth2 um. Stimmen wir der folgenden Meldung zu, wird der Klassenname auch gleich in den Code übernommen.
Eigenschaften des Projekts ändern
Nun öffnen wir die Projekteigenschaften und aktivieren den Bereich Anwendung. Hier klicken wir auf die Schaltfläche Assemblyinformationen… und öffnen so den Dialog Assemblyinformationen. Hier können wir alle Einstellungen beibehalten außer der Option Assembly COM-sichtbar machen, die wir aktivieren (siehe Bild 1).
Bild 1: Aktivieren der Option Assembly COM-sichtbar machen