In Google Kalender können Nutzer einen Arbeitsort angeben, damit Personen beim Senden von Einladungen zu einem Termin ihren Standort kennen. Diese Funktion ist nur für einige Google Kalender-Nutzer verfügbar. Weitere Informationen finden Sie unter Arbeitsort für Nutzer aktivieren oder deaktivieren.
Arbeitsorte der Nutzer lesen
Sie können die Arbeitsorte der Nutzer in der Ressource Events
der Calendar API lesen.
Verwenden Sie zum Auflisten von Arbeitsorten die Methode events.list
und geben Sie im Feld eventTypes
['workingLocation']
an. Prüfen Sie dann in den zurückgegebenen Event
-Objekten, ob das Feld eventType
den Wert 'workingLocation'
enthält. Weitere Informationen zum Arbeitsort, den der Nutzer in Google Kalender festgelegt hat, finden Sie im Feld workingLocationProperties
.
Hinweis:Das Hinzufügen oder Aktualisieren von Arbeitsorten befindet sich noch in der Entwicklung. Arbeitszeiten können derzeit nicht programmatisch verwaltet werden.
Codebeispiel für Google Apps Script
Google Apps Script ist eine JavaScript-basierte Cloud-Skriptsprache, mit der Sie einfache Geschäftsanwendungen erstellen können, die sich in Google Workspace einbinden lassen. Skripts werden in einem browserbasierten Codeeditor entwickelt und auf Google-Servern gespeichert. Unter Google Apps Script – Kurzanleitung erfahren Sie, wie Sie mit Apps Script Anfragen an die Google Calendar API senden können.
In der folgenden Anleitung wird beschrieben, wie Sie Arbeitsorte mithilfe der Google Calendar API als erweiterten Dienst in Google Apps Script lesen. Eine vollständige Liste der Ressourcen und Methoden für die Google Calendar API finden Sie in der Referenzdokumentation.
Skript erstellen
- Erstellen Sie unter script.google.com/create ein Skript.
Google Calendar API aktivieren
- Klicken Sie im linken Bereich neben Services (Dienste) auf „Add a service“ (Dienst hinzufügen).
- Wählen Sie Google Calendar API aus und klicken Sie auf Hinzufügen.
- Nach der Aktivierung wird die API im linken Bereich angezeigt. Verfügbare Methoden und Klassen in der API können mit dem Schlüsselwort Calendar im Editor aufgelistet werden.
Google Cloud-Projekt aktualisieren
Die Möglichkeit, Arbeitsorte zu lesen, ist nur für Google Cloud-Projekte im Vorschauprogramm für Entwickler verfügbar. Sie müssen die Google Cloud-Projektnummer des Apps Script-Projekts aktualisieren, um Ereignisse zum Arbeitsort abzurufen.
- Klicken Sie links im Editor auf „Projekteinstellungen“ .
- Klicken Sie unter Google Cloud Platform-Projekt (GCP-Projekt) auf Projekt ändern.
- Geben Sie die Projektnummer des Google Cloud-Projekts ein, das am Vorschauprogramm für Entwickler teilnimmt. Klicken Sie dann auf Projekt festlegen.
- Wählen Sie auf der linken Seite „Editor“ aus, um zum Codeeditor zurückzukehren.
Skript ausführen, um Arbeitsorte zu lesen
Das folgende Codebeispiel zeigt, wie Sie Termine für Arbeitsorte in Ihrem Kalender lesen.
Fügen Sie Folgendes in den Skripteditor ein.
/** * Lists working location events for given dates. * See https://developers.google.com/calendar/api/v3/reference/events/list */ function listWorkingLocationEvents() { const calendarId = 'primary' // Query parameters for the list request. const optionalArgs = { eventTypes: ['workingLocation'], showDeleted: false, singleEvents: true, timeMax: '2023-04-01T00:00:00+01:00', timeMin: '2023-03-27T00:00:00+01:00', } try { var response = Calendar.Events.list(calendarId, optionalArgs ); response.items.forEach(event => console.log('%s: %s', event.start.date, parseWorkingLocation(event))); } catch (exception) { console.log(exception.message); } } /** * Reads the working location event with the given eventId. * See https://developers.google.com/calendar/api/v3/reference/events/get */ function readWorkingLocationEvent() { const calendarId = 'primary'; // Replace with a valid eventId. const eventId = "sample-event-id"; try { const event = Calendar.Events.get(calendarId, eventId); console.log('%s: %s', event.start.date, parseWorkingLocation(event)); } catch (exception) { console.log(exception.message); } } /** * Parses working location properties of an event into a string. * See https://developers.google.com/calendar/api/v3/reference/events#resource */ function parseWorkingLocation(event) { if(event.eventType != "workingLocation") { throw new Error("'" + event.summary +"' is not a working location event."); } const workingLocation = event.workingLocationProperties; if (workingLocation) { if (workingLocation.homeOffice) { return 'Home'; } if (workingLocation.officeLocation) { return workingLocation.officeLocation.label; } if (workingLocation.customLocation) { return workingLocation.customLocation.label; } } return 'No Location'; }
Wählen Sie über dem Codeeditor im Drop-down-Menü die auszuführende Funktion aus und klicken Sie auf Ausführen.
Bei der ersten Ausführung werden Sie aufgefordert, den Zugriff zu autorisieren. Prüfen Sie, ob Apps Script auf Ihren Kalender zugreifen darf.
Sie können die Ergebnisse der Skriptausführung im Ausführungslog sehen, das unten im Fenster angezeigt wird.