Musterbeispiel "Termin in einen Google-Kalender - Grutzeck ...
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Sonstiges Musterbeispiel "Termin in einen Google-Kalender eintragen" (OAuth 2.0) Problem: In einem Terminierungsprojekt für Aussendienstmitarbeiter oder für einen Mitarbeiter soll ein Termin aus AG-VIP SQL heraus in einem Google-Kalender eingetragen werden oder ein bestimmter Google-Kalender soll in einem Webcontrol auf einer Ansicht oder einem Gesprächsleitfaden zu Ansicht gebracht werden. Lösung: Die in diesem Artikel vorgestellten Dateien enthalten 2 mögliche Lösungen für die Erstellung eines Kalendereintrags. 1. Anzeige und Eintrag eines Termins mittels einer Ansicht. 2. Eintrag eines Termins mittels einem Hilfsmittel. Hinweise: Für die Nutzung dieses Beispiels ist ein Google-Account erforderlich. Sie können einen Google-Account kostenlos unter der URL https://www.google.com/accounts/NewAccount anlegen. Des Weiteren muss ein Projekt unter der URL https://console.developers.google.com angelegt werden, worüber dann die Authentifizierung für den Google Kalender geregelt wird. Wie dieses Projekt eingerichtet wird, ist im Abschnitt "Projekt zur oAuth 2.0 Authentifzierung einrichten" beschrieben. Um die Muster allgemein lauffähig zu halten, wurden keine Datenbankbezüge für den Termineintrag integriert. Wenn Sie jedoch ein Feld vom Typ "Datum/Zeit" in der Adresstabelle anlegen und dem Control "startdatum" auf der Ansicht "Google- Kalender" eine Datenbindung mit diesem Datenbankfeld zuweisen, wird Ihr Termin in AG-VIP SQL und im Google-Kalender geführt. Wird später natürlich der Termin im Google-Kalender verschoben, werden die Daten im Terminkalender in unserem Datenfeld in AG-VIP SQL nicht automatisch aktualisiert. Terminänderungen sollten daher wenn möglich auch im AG-VIP SQL entsprechend aktualisiert werden. Die wichtigsten Felder für die Nutzung dieser Beispiele sind: Für die Variante mit der Ansicht: (Google-Emailadresse, Passwort und Dateipfad zum AG-VIP SQL Installationsverzeichnis) Application.GlobalData("gmail"), Application.GlobalData("gpass") und Application.Globaldata("GCSINI"). Seite 1 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
Sonstiges Für die Variante mit dem Hilfsmittel: (Google-Emailadresse und Dateipfad zum AG-VIP SQL Installationsverzeichnis) Application.GlobalData("GoogleMail") und Application.Globaldata("GCSINI") Sie müssen vor der erfolgreichen Nutzung des Beispiels mit den Benutzerdaten des Google-Accounts gefüllt werden. Voraussetzung: Zur Nutzung beider Varianten muss das Makroinclude "Standard1" in AG-VIP SQL importiert sein: http://kb.grutzeck.de/content/9/221/de/funktionsbibliothek-standard1.html Projekt zur oAuth 2.0 Authentifzierung einrichten: 1. Nach dem Sie ein Google Konto eingerichtet haben, melden Sie sich mit Ihren selben Daten auf der Developer Console an: (https://console.developers.google.com) 2. Melden Sie sich mit Ihren Zugangsdaten an. Stimmen Sie den Nutzungsbedingungen zu: Seite 2 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
Sonstiges 3. Wählen Sie aus dem Dashboard rechts oben die Schaltfläche "APIS und DIENSTE aktivieren" 4. Wählen Sie von den angebotenen APIs die "Google Calendar API" aus: Seite 3 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
Sonstiges 5. Anschließend klicken Sie auf den Schalter "AKTIVIEREN": Seite 4 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
Sonstiges 6. Erstellen Sie ein neues Projekt: 7. Erstellen Sie einen eindeutigen Projektnamen an, z.B. AG-VIP Kalender [Name Mitarbeiter des Kalenders] Seite 5 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
Sonstiges 8. Links auf "Anmeldedaten" und anschließend auf "oAuth-Zustimmungsbildschirm" klicken._ Anschließend geben Sie bei "Name der Anwendung" den Namen "AG-VIP SQL" ein und bestätigen dies ganz unten in dem Sie auf "Speichern" klicken: Seite 6 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
Sonstiges 9. Wechseln Sie zu "Anmeldedaten" und klicken auf "Anmeldedaten erstellen": 10. Ein Menü geht auf mit 4 Auswahlmöglichkeiten. Wählen Sie "OAuth-Client-ID" aus: Seite 7 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
Sonstiges 11. Falls Sie nun diese Meldung angezeigt bekommen sollten, haben Sie vermutlich vergessen bei Schritt 8 auf "Speichern" zu drücken. Klicken Sie in dem Fall Zustimmungsbildschirm konfigurieren" und wiederholen Sie die Schritte ab 8: 12. Als "Anwendungstyp" wählen Sie "Sonstige" udn tragen dann "Windows Desktop Anwendung" ein. Zur Bestätigung anschließend auf "Erstellen" drücken: Seite 8 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
Sonstiges 13. Geschafft! Die Client-ID und der Clientschlüssel wurden generiert: Seite 9 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
Sonstiges Die "Client-ID" und der "ClientSecret Key" bzw. "Clientschlüssel" wird später beim ersten Ausführen des Google Kalender Hilfsmittels benötigt. Daher sollten Sie diese kopieren und in einer Text bzw. Word Datei zwischenspeichern. Falls Sie den Dialog nicht angezeigt bekommen oder Sie zu einem späteren Zeitpunkt diese Informationen erneut benötigen sollten, können Sie diese in der Developer Console über die "Credentials" bzw. "Zugangsdaten" auf dem von Ihren festgelegten Projektnamen zugreifen: Seite 10 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
Sonstiges 1. Anzeige und Eintrag eines Termins mittels einer Ansicht: Dieses Beispiel zeigt exemplarisch wie ein Termin aus Feldern einer Ansicht in AG- VIP SQL direkt in einem Google-Kalender eingetragen werden können. Ausserdem wird der entsprechende Googlekalender in einem Webcontrol zur Anzeige gebracht. Um das Beispiel zu nutzen müssen Sie gültige Google-Zugangsdaten und der Installationspfad von AG-VIP SQL im Formular "Marko beim Laden" hinterlegen. Danach ist das Beispiel sofort einsatzbereit sofern die OAuth 2.0 Authentifizierung beim ersten Start eingetragen wurden. 2. Eintrag eines Termins mittels einem Hilfsmittel: Dieses Beispiel zeigt wie ein Termineintrag mit einem Hilfsmittel in einen Googlekalender vorgenommen werden kann. Typischerweise wäre dies ein Hilfsmittel das mit einer Reaktion "Termin erstellt" auch in einem vorhandenen Terminierungsprojekt verwendet werden kann, wenn die Synchronisation des Blackberry oder Outlook-Kalenders des Aussendienstmitarbeiters mit einem Google-Kalender vorgenommen wird. So kann nun mit einem "normalen" Terminierungsprojekt auch gleich der Termineintrag in dem entsprechenden Googlekalender des Aussendienstmitarbeiters vorgenommen werden. Um das Beispiel auszuprobieren müssen Sie nach der Installation, im Makro des Hilfsmittels, die Werte für die Zugangsdaten für den Google-Account und den Installationspfad von AG-VIP SQL hinterlegen. Danach ist das Beispiel sofort einsatzbereit sofern die oAuth 2.0 Authentifizierung Seite 11 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
Sonstiges beim ersten Start eingetragen wurden. Natürlich gibt es für diese Musterbeispiele noch unzählige Anwendungsszenarien. Einrichtung: 1. Laden Sie die ZIP-Datei am Ende des Artikels herunter und entpacken Sie die Dateien typischerweise im Ordner \Samples (bpw. C:\Programme\AG-VIP SQL\Samples) 2. Öffnen Sie AG-VIP SQL und wechseln Sie im Arbeitsbereich auf die Administration 3. Klicken Sie auf "Ansichten". Der Formulareditor öffnet sich. 4. Klicken Sie im Formulareditor im Menü auf "Datei" -> "Import" und wählen Sie die Datei "Google-Kalender.agfrm" 5. Klicken Sie dann auf "Makro beim Laden" und ergänzen Sie die Zugangsdaten für den Google-Kalender in Zeile 7 und 8: Application.GlobalData("gmail")="" Application.GlobalData("gpass")= "" 6. Hinterlegen Sie zusätzlich noch einen im Netzwerk für jeden Benutzer erreichbaren Pfad für die "GoogleCalendarSettings.ini" Application.Globaldata("GCSINI") = "V:\AG-VIP SQL\GoogleCalendarSettings.ini" 7. Speichern Sie nun die Ansicht im gewünschten Kontext 8. Schließen Sie den Formulareditor und wechseln Sie im Administrationsbereich auf "Verschiedenes" -> "Hilfsmittel" 9. Importieren Sie nun die Datei "Termin in Google Kalender eintragen.agtool". 10. Klicken Sie auf das Hilfsmittel "Termin in Google Kalender eintragen" -> "Ändern" und wechseln Sie auf die Registerkarte Makro 11. Klicken Sie hier auf "Ändern" und ergänzen Sie die Zugangsdaten für den Google-Kalender in Zeile 6: Application.GlobalData("GoogleMail")="" 12. Hinterlegen Sie zusätzlich noch einen im Netzwerk für jeden Benutzer erreichbaren Pfad für die "GoogleCalendarSettings.ini" Application.Globaldata("GCSINI") = "V:\AG-VIP SQL\GoogleCalendarSettings.ini" Nun können Sie die Beispiele bereits ausprobieren. Anpassungsmöglichkeiten: Sie können die folgenden Werte vorgeben: 1. Zugangsdaten: Application.GlobalData("gmail")="support@grutzeck.de" (bzw. GoogleMail) Application.GlobalData("gpass")= "Passwort" 2. Netzwerk-Pfadangabe der Ini-Datei in der die Zugangsinformationen Seite 12 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
gespeichert werden Sonstiges (Die Datei muss für jeden Benutzer im Netzwerk mit Schreibrechten erreichbar sein) Application.Globaldata("GCSINI") = "V:\AG-VIP SQL\GoogleCalendarSettings.ini" 3. Wert für das Startdatum Application.GlobalData("startdate") = "" 4. Wert für die Startzeit Application.GlobalData("starttime") = "" 5. Wert für das Enddatum Application.GlobalData("enddate")= "" 6. Wert für die Endzeit Application.GlobalData("endttime")= "" 7. Wert für den Titel Eintrag. Application.GlobalData("title")="Testeintrag im Googlekalender für " & ActiveAddress.Fields("NameLast").value 8. Wert für die Beschreibung des Termins im Googlekalender Application.GlobalData("description")="Termin bei " & ActiveAddress.Fields("NameSalutation").Value & _ " " & ActiveAddress.Fields("NameLast").Value & ", " & _ ActiveAddress.Fields("Name1").Value 9. Wert für den Ort an dem der Termin stattfinden soll. Hier wir als Beispiel die Adresse des Datensatzes verwendet. Könnte aber auch = "Hanau" sein. Application.GlobalData("place")= ActiveAddress.Fields("Street").Value & _ ", " & ActiveAddress.Fields("ZipCode").Value & " " & ActiveAddress.Fields("City").Value 10. Wert ob der Termin als privater Termin oder öffentliche Termin eingetragen wird. Mögliche Angaben sind "private" oder "public" Application.GlobalData("visibility") = "private" 11. Angabe der Zeitzone (Wird benötigt um die Zeitkorrektur zu ermitteln) Weitere Zeitzonen können von folgender URL ausgelesen werden: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones Application.GlobalData("timezone") = "Europe/Berlin" 12. Wert ob die Zeit im Kalender als Belegt oder Frei angezeigt wird. (Mögliche Werte false oder true) Application.GlobalData("timeconsumption") = true Im Beispiel für das Hilfsmittel kann mit dem Wert "Termindauer" (Termindauer=1) ein Wert für die Terminlänge eingetragen werden. (In Stunden) Im Beispiel mit der Ansicht wird die Termindauer in Zeile 19 festgelegt. Dabei wird für die Endzeit die Startzeit +1 Stunde festgelegt. Sie können natürlich jederzeit beliebige Vorgabewerte als Text oder aus Datenbankfeldern definieren. Seite 13 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
OAuth 2.0 Konfiguration: Sonstiges Beim ersten Aufruf eines Kalenders muss die oAuth 2.0 Authentifizierung konfiguriert werden. Dazu wird die "Client-ID" und der "Client Secret Key" bzw. "Clientschlüssel" benötigt, sowie eine Anmeldung im Google Konto zur Bestätigung der Freigabe des Kalenderzugriffs: Eingabe der Client-ID: Eingabe des Client-Schlüssels: Beim Login für die Zugriffsbestätigung ist es wichtig zu überprüfen, ob der richtige Google Account angemeldet ist. Cookies von Ihrem Browser könnten evtl. sich mit einem anderen Google Konto automatisch anmelden. Wenn Sie sichergestellt haben, dass Sie mit dem richtigen Google Konto angemeldet sind, drücken Sie auf "Allow" bzw. "Zulassen": Seite 14 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
Sonstiges Seite 15 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
Sonstiges Anschließend erscheint ein Authentifizierungscode, welcher automatisch von dem Hilfsmittel ausgelesen und der Browser anschließend geschlossen wird: Falls Sie zulange für die Bestätigung gebraucht haben sollten, wird Ihnen das Hilfsmittel folgenden Dialog anzeigen, welchen Sie je nach dem mit "Ja", "Nein" oder "Abbrechen" bestätigen: Die Informationen werden dann in der GoogleCalendarSettings.ini hinterlegt und müssen daher nur beim ersten Aufruf angegeben werden. Änderungslog: 18.03.2019 Seite 16 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html
Sonstiges Automatismus zum Ermitteln des Auth-Codes angepasst um Änderung von Google am Dialog zu berücksichtigen. 11.10.2018 Aktualisierung der Anleitung auf die neue Google-Account Oberfläche Anpassung des Makros, welches in AG-VIP SQL den Google-Kalender in einem Browserfeld anzeigt (Durch Änderungen des Google-Account Anmeldevorgangs, funktionierte das alte Makro nicht mehr). 21.10.2016 Wenn Google eine Auswahl von mehreren E-Mail-Accounts anbietet, wird der entsprechende Account ausgewählt automatisches Ausloggen beim Speichern der Ansicht 23.06.2016 Erweiterung um die Angabe eines Proxy-Servers 07.01.2016 Durch die Voraussetzung von Google absofort nur über die OAuth 2.0 Authentifizierung Zugriff auf z.B. den Google Kalender zu erhalten, wurde das Hilfsmittel komplett neu programmiert. Die Konfigurationsparameter wurden beibehalten und jediglich um einige erweitert. Eindeutige ID: #1353 Verfasser: Peter Brandt [Grutzeck Software GmbH] Letzte Änderung: 2018-10-11 07:24 Seite 17 / 17 (c) 2021 Grutzeck Software GmbH | 28.09.2021 02:02 URL: https://kb.grutzeck.de/content/31/352/de/musterbeispiel-termin-in-einen-google_kalender-eintragen-oauth-20.html Powered by TCPDF (www.tcpdf.org)
Sie können auch lesen