{"id":55000408,"date":"2023-12-01T00:00:00","date_gmt":"2023-12-19T15:03:06","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=408"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Google_Calendar_programmieren__Vorbereitungen","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/Google_Calendar_programmieren__Vorbereitungen\/","title":{"rendered":"Google Calendar programmieren &#8211; Vorbereitungen"},"content":{"rendered":"<p><b>Einer der kompliziertesten Vorg&auml;nge beim Zugriff auf Rest APIs und &auml;hnliche Dienste ist das Ermitteln des f&uuml;r die Authentifizierung notwendigen Tokens. Bevor das &uuml;berhaupt m&ouml;glich ist, m&uuml;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 &#8211; f&uuml;r das Abfragen des zum Anmelden notwendigen Tokens ben&ouml;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&ouml;nnen. In weiteren Artikeln zeigen wir dann, wie wir ClientID und ClientSecret f&uuml;r die Abfrage des Tokens nutzen k&ouml;nnen wie wir damit schlie&szlig;lich auf die Rest-API von Google zugreifen k&ouml;nnen, um Daten des Google Calendars zu lesen, zu erstellen, zu bearbeiten und zu l&ouml;schen.<\/b><\/p>\n<h2>Google-Konto erforderlich<\/h2>\n<p>Wenn Du noch kein Google-Konto hast, kannst Du kostenlos eines anlegen. Die Anmeldung bei Google mit einem Konto ist jedenfalls Voraussetzung f&uuml;r das Anlegen eines Projekts, das wir sp&auml;ter f&uuml;r den Zugriff auf die Rest-API von Google nutzen k&ouml;nnen.<\/p>\n<p>Wir starten auf folgender Adresse:<\/p>\n<pre>https:\/\/console.cloud.google.com\/ <\/pre>\n<p>Hier erscheint, wenn Du nicht bereits mit Deinem Google-Konto angemeldet sein solltest, der Dialog aus Bild 1. Hier kannst Du entweder die Daten eines bestehenden Kontos angeben, unter dem Du ein Google-Projekt erstellen m&ouml;chtest, oder Du klickst auf <b>Konto erstellen <\/b>und startest den Vorgang, um ein neues Konto zu erstellen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_06\/pic_408_013.png\" alt=\"Anmelden oder neues Konto erstellen\" width=\"424,6267\" height=\"479,3564\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Anmelden oder neues Konto erstellen<\/span><\/b><\/p>\n<p>Beim Erstellen eines neuen Konto gibst Du an, f&uuml;r welchen Zweck das Konto angelegt werden soll &#8211; f&uuml;r die private Nutzung, f&uuml;r ein Kind oder f&uuml;r Arbeit\/Unternehmen (siehe Bild 2). Wenn Du nicht gerade Dein Unternehmen auf Google vorstellen m&ouml;chtest, reicht hier der erste Eintrag f&uuml;r die private Nutzung aus.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_06\/pic_408_014.png\" alt=\"Auswahl des Kontotyps\" width=\"424,6267\" height=\"432,1756\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Auswahl des Kontotyps<\/span><\/b><\/p>\n<p>Danach geben wir den Namen ein, wobei der Nachname sogar optional ist. Der n&auml;chste Schritt fragt das Geburtsdatum und das Geschlecht ab.<\/p>\n<p>Bei der Angabe der E-Mail-Adresse im n&auml;chsten Schritt k&ouml;nnen wir eine eigene, bereits vorhandene E-Mail-Adresse angebe oder eine Gmail-Adresse erstellen (ebenfalls kostenlos). Wir entscheiden uns f&uuml;r eine vorhandene E-Mail-Adresse (siehe Bild 3).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_06\/pic_408_015.png\" alt=\"Angabe der E-Mail-Adresse \" width=\"424,6267\" height=\"473,6948\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Angabe der E-Mail-Adresse <\/span><\/b><\/p>\n<p>Diese E-Mail-Adresse muss im n&auml;chsten Schritt best&auml;tigt werden. Dazu sendet Google uns eine E-Mail an die angegebene Adresse. Den enthaltenen Code geben wir im folgenden Dialog ein.<\/p>\n<p>Schlie&szlig;lich erstellen wir noch ein Kennwort, f&uuml;gen eine Telefonnummer hinzu, falls gew&uuml;nscht (diese wird nur f&uuml;r Sicherheitszwecke verwendet) und fragt noch einige weitere Informationen ab. Haben wir diese eingegeben, k&ouml;nnen wir mit den n&auml;chsten Schritten die eigentliche Aufgabe angehen.<\/p>\n<h2>Neues Projekt anlegen<\/h2>\n<p>Nachdem wir nun auf jeden Fall ein Google-Konto haben, k&ouml;nnen wir nochmals zu <b>https:\/\/console.cloud.google.com <\/b>gehen und uns dort anmelden. Hier stimmen wir nach der Anmeldung auch noch den Nutzungsbedingungen zu (siehe Bild 4).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_06\/pic_408_016.png\" alt=\"Nutzungsbedingungen akzeptieren \" width=\"474,6267\" height=\"566,9155\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Nutzungsbedingungen akzeptieren <\/span><\/b><\/p>\n<p>Danach zeigt Google den Startbildschirm an, der wie in Bild 5 aussieht. Hier klicken wir nun auf <b>Projekt ausw&auml;hlen<\/b>. <\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_06\/pic_408_017.png\" alt=\"Startbildschirm der Google Cloud\" width=\"700\" height=\"439,8647\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Startbildschirm der Google Cloud<\/span><\/b><\/p>\n<p>Dies blendet den Dialog <b>Projekt ausw&auml;hlen <\/b>aus Bild 6 ein. Da wir zuvor noch kein Projekt angelegt haben, ist dieser Dialog noch leer und wir k&ouml;nnen mit einem Klick auf <b>Neues Projekt <\/b>direkt zur Tat schreiten.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_06\/pic_408_018.png\" alt=\"Anlegen eines neuen Projekts\" width=\"649,627\" height=\"357,975\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Anlegen eines neuen Projekts<\/span><\/b><\/p>\n<p>Google &ouml;ffnet nun eine neue Seite mit dem Titel <b>Neues Projekt <\/b>(siehe Bild 7). Hier geben wir den Projektnamen ein, zum Beispiel <b>amvGoogleRestAPI<\/b>, und belassen den Wert f&uuml;r <b>Speicherort <\/b>auf <b>Keine Organisation <\/b>und klicken auf <b>Erstellen<\/b>.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_06\/pic_408_019.png\" alt=\"Eingeben des Projektnamens\" width=\"524,6265\" height=\"548,1445\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Eingeben des Projektnamens<\/span><\/b><\/p>\n<p>Nun erstellt Google das Projekt, was einige Sekunden dauert. Danach zeigt es eine Benachrichtigung wie in Bild 8 an. <\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_06\/pic_408_020.png\" alt=\"M&ouml;glichkeit, das Projekt auszuw&auml;hlen\" width=\"700\" height=\"147,3684\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: M&ouml;glichkeit, das Projekt auszuw&auml;hlen<\/span><\/b><\/p>\n<p>Wenn diese verschwindet, ohne dass wir das neue Projekt ausgew&auml;hlt haben &#8211; kein Problem, wir finden dieses nun auch vor, wenn wir erneut auf den Link <b>Projekt ausw&auml;hlen <\/b>klicken.<\/p>\n<p>Hier sehen wir jetzt den Eintrag <b>amvGoogleRestAPI<\/b> (siehe Bild 9).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_06\/pic_408_021.png\" alt=\"Unser Projekt im Dialog Projekt ausw&auml;hlen\" width=\"649,627\" height=\"206,6994\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 9: Unser Projekt im Dialog Projekt ausw&auml;hlen<\/span><\/b><\/p>\n<p>Danach sehen wir die &Uuml;bersichtsseite f&uuml;r unser Projekt. Hier finden wir unter Schnellzugriff den Befehl <b>APIs und Dienste<\/b>, den wir nun mit der Maus &uuml;berfahren und im folgenden Untermen&uuml; den Eintrag <b>Bibliothek <\/b>ausw&auml;hlen (siehe Bild 10).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2023_06\/pic_408_042.png\" alt=\"Anzeige der Bibliotheken\" width=\"424,6267\" height=\"370,5833\" \/><\/p>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Visual Basic Entwickler<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/363\/visual-basic-entwickler-jahresabonnement?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 200 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000408\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/data\/wp\/v2\/posts\/55000408?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000408\/\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"9445dca723\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Einer der kompliziertesten Vorg&auml;nge beim Zugriff auf Rest APIs und &auml;hnliche Dienste ist das Ermitteln des f&uuml;r die Authentifizierung notwendigen Tokens. Bevor das &uuml;berhaupt m&ouml;glich ist, m&uuml;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 &#8211; f&uuml;r das Abfragen des zum Anmelden notwendigen Tokens ben&ouml;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&ouml;nnen. In weiteren Artikeln zeigen wir dann, wie wir ClientID und ClientSecret f&uuml;r die Abfrage des Tokens nutzen k&ouml;nnen wie wir damit schlie&szlig;lich auf die Rest-API von Google zugreifen k&ouml;nnen, um Daten des Google Calendars zu lesen, zu erstellen, zu bearbeiten und zu l&ouml;schen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662023,66062023,44000012],"tags":[],"yst_prominent_words":[66062028],"class_list":["post-55000408","post","type-post","status-publish","format-standard","hentry","category-662023","category-66062023","category-Interaktiv"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000408","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=55000408"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000408\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000408"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000408"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000408"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000408"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}