Events: insert

Erstellt einen Termin. Probieren Sie es jetzt aus oder sehen Sie sich ein Beispiel an.

Anfrage

HTTP-Anfrage

POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events

Parameter

Parametername Wert Beschreibung
Pfadparameter
calendarId string Kalender-ID. Rufen Sie die Methode calendarList.list auf, um Kalender-IDs abzurufen. Wenn Sie auf den Hauptkalender des aktuell angemeldeten Nutzers zugreifen möchten, verwenden Sie den Suchbegriff „primary“.
Optionale Abfrageparameter
conferenceDataVersion integer Versionsnummer der vom API-Client unterstützten Konferenzdaten. Bei Version 0 wird davon ausgegangen, dass Konferenzdaten nicht unterstützt werden, und Konferenzdaten im Textkörper des Ereignisses werden ignoriert. Version 1 unterstützt das Kopieren von ConferenceData sowie das Erstellen neuer Konferenzen über das Feld „createRequest“ von „conferenceData“. Der Standardwert ist 0. Zulässige Werte: 0 bis 1.
maxAttendees integer Die maximale Anzahl der Teilnehmer, die in der Antwort enthalten sein sollen. Wenn mehr als die angegebene Anzahl von Teilnehmern vorhanden ist, wird nur der Teilnehmer zurückgegeben. Optional.
sendNotifications boolean Verworfen. Verwende stattdessen sendUpdates.

Gibt an, ob Benachrichtigungen über die Erstellung des neuen Ereignisses gesendet werden sollen. Beachten Sie, dass einige E-Mails möglicherweise trotzdem gesendet werden, auch wenn Sie den Wert auf false setzen. Der Standardwert ist false.
sendUpdates string Gibt an, ob Benachrichtigungen über die Erstellung des neuen Ereignisses gesendet werden sollen. Einige E-Mails werden möglicherweise weiterhin gesendet. Der Standardwert ist false.

Zulässige Werte sind:
  • all“: Benachrichtigungen werden an alle Gäste gesendet.
  • externalOnly“: Benachrichtigungen werden nur an Gäste gesendet, die Google Kalender nicht verwenden.
  • none“: Es werden keine Benachrichtigungen gesendet.
supportsAttachments boolean Gibt an, ob der API-Client, der einen Vorgang ausführt, Ereignisanhänge unterstützt. Optional. Die Standardeinstellung ist "False".

Autorisierung

Für diese Anfrage ist eine Autorisierung mit mindestens einem der folgenden Bereiche erforderlich:

Umfang
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events

Weitere Informationen finden Sie auf der Seite Authentifizierung und Autorisierung.

Anfragetext

Geben Sie im Anfragetext eine Ereignisressource mit den folgenden Eigenschaften an:

Property-Name Wert Beschreibung Hinweise
Erforderliche Properties
end nested object Die (ausschließliche) Endzeit des Ereignisses. Bei einem wiederkehrenden Termin ist dies die Endzeit der ersten Instanz.
start nested object Die Startzeit des Ereignisses (inklusive). Bei einem wiederkehrenden Termin ist dies der Beginn der ersten Instanz.
Optionale Eigenschaften
anyoneCanAddSelf boolean Ob sich jeder zu dem Termin selbst einladen kann (eingestellt). Optional. Die Standardeinstellung ist "False". Bearbeitbar
attachments[].fileUrl string URL-Link zum Anhang.

Verwenden Sie für das Hinzufügen von Google Drive-Dateianhängen dasselbe Format wie in der alternateLink-Eigenschaft der Files-Ressource in der Drive API.

Erforderlich, wenn ein Anhang hinzugefügt wird.

Bearbeitbar
attendees[] list Die Teilnehmer der Veranstaltung. Weitere Informationen zum Planen von Terminen mit anderen Kalendernutzern finden Sie im Hilfeartikel Termine mit Teilnehmern. Für Dienstkonten muss die domainweite Delegierung von Befugnissen verwendet werden, um die Teilnehmerliste zu erstellen. Bearbeitbar
attendees[].additionalGuests integer Anzahl der zusätzlichen Gäste. Optional. Der Standardwert ist 0. Bearbeitbar
attendees[].comment string Der Kommentar der Teilnehmerin zur Antwort. Optional. Bearbeitbar
attendees[].displayName string Der Name des Teilnehmers, falls verfügbar. Optional. Bearbeitbar
attendees[].email string Die E-Mail-Adresse des Teilnehmers, falls verfügbar. Dieses Feld muss beim Hinzufügen eines Teilnehmers vorhanden sein. Es muss sich um eine gültige E-Mail-Adresse gemäß RFC5322 handeln.

Erforderlich, wenn ein Teilnehmer hinzugefügt wird.

Bearbeitbar
attendees[].optional boolean Ob es sich um einen optionalen Teilnehmer handelt. Optional. Die Standardeinstellung ist "False". Bearbeitbar
attendees[].resource boolean Gibt an, ob der Teilnehmer eine Ressource ist. Kann nur festgelegt werden, wenn der Teilnehmer der Veranstaltung zum ersten Mal hinzugefügt wird. Nachfolgende Änderungen werden ignoriert. Optional. Die Standardeinstellung ist "False". Bearbeitbar
attendees[].responseStatus string Der Antwortstatus des Teilnehmers. Mögliche Werte:
  • "needsAction" – Der Teilnehmer hat nicht auf die Einladung reagiert (empfohlen für neue Termine).
  • "declined": Der Teilnehmer hat die Einladung abgelehnt.
  • tentative“: Der Teilnehmer hat die Einladung vorläufig angenommen.
  • "accepted": Der Teilnehmer hat die Einladung angenommen.
Bearbeitbar
birthdayProperties nested object Daten zu Geburtstagen oder besonderen Ereignissen Wird verwendet, wenn eventType "birthday" ist. Nicht veränderbar. Bearbeitbar
birthdayProperties.type string Art des Geburtstags oder besonderen Ereignisses. Mögliche Werte:
  • "anniversary" – ein anderes Jubiläum als ein Geburtstag. Enthält immer ein contact.
  • "birthday": Geburtstagsereignis „Immer“ ist der Standardwert.
  • "custom": Ein spezielles Datum, dessen Label im Feld customTypeName weiter spezifiziert wird. Enthält immer ein contact.
  • "other": Ein spezielles Datum, das in keine der anderen Kategorien fällt und kein benutzerdefiniertes Label hat. Enthält immer ein contact.
  • "self": Geburtstag des Kalenderinhabers. Darf kein contact haben.
 Die Calendar API unterstützt nur das Erstellen von Ereignissen vom Typ "birthday". Der Typ kann nach dem Erstellen des Ereignisses nicht mehr geändert werden.
Bearbeitbar
colorId string Die Farbe des Ereignisses. Dies ist eine ID, die sich auf einen Eintrag im Abschnitt event der Farbdefinition bezieht (siehe Farbenendpunkt). Optional. Bearbeitbar
conferenceData nested object Konferenzbezogene Informationen, z. B. Details zu einer Google Meet-Konferenz. Verwenden Sie das Feld createRequest, um neue Konferenzdetails zu erstellen. Damit Ihre Änderungen gespeichert werden, müssen Sie den Anfrageparameter conferenceDataVersion für alle Anfragen zur Ereignisänderung auf 1 festlegen. Bearbeitbar
description string Beschreibung der Veranstaltung. Kann HTML enthalten. Optional. Bearbeitbar
end.date date Das Datum im Format "jjjj-mm-tt", wenn es sich um einen ganztägigen Termin handelt. Bearbeitbar
end.dateTime datetime Die Uhrzeit als kombinierter Datums- und Zeitwert (formatiert gemäß RFC3339). Ein Zeitzonenversatz ist erforderlich, sofern in timeZone nicht explizit eine Zeitzone angegeben ist. Bearbeitbar
end.timeZone string Die Zeitzone, in der die Uhrzeit angegeben ist. (Formatiert als Name aus der IANA-Zeitzonendatenbank, z.B. „Europe/Zurich“). Bei wiederkehrenden Ereignissen ist dieses Feld erforderlich. Es gibt die Zeitzone an, in der die Wiederholung erweitert wird. Bei einzelnen Ereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für den Beginn/das Ende des Ereignisses an. Bearbeitbar
eventType string Der spezifische Ereignistyp. Dieser Wert kann nach dem Erstellen des Ereignisses nicht mehr geändert werden. Mögliche Werte sind:
  • "birthday": ein besonderer ganztägiger Termin mit jährlicher Wiederholung.
  • default“: Ein regelmäßiger Termin oder nicht weiter spezifiziert.
  • focusTime“: ein Fokuszeit-Ereignis.
  • fromGmail“: Ein Termin aus Gmail. Dieser Ereignistyp kann nicht erstellt werden.
  • outOfOffice“: Ein Außer-Haus-Termin.
  • workingLocation“: Ein Ereignis für den Arbeitsort.
Bearbeitbar
extendedProperties.private object Eigenschaften, die nur für die Kopie des Termins gelten, die in diesem Kalender angezeigt wird. Bearbeitbar
extendedProperties.shared object Eigenschaften, die zwischen Kopien des Termins in den Kalendern anderer Teilnehmer geteilt werden. Bearbeitbar
focusTimeProperties nested object Fokuszeit-Ereignisdaten. Wird verwendet, wenn eventType focusTime ist. Bearbeitbar
gadget.display string Der Anzeigemodus des Gadgets. Verworfen. Mögliche Werte:
  • "icon": Das Gadget wird neben dem Titel des Termins in der Kalenderansicht angezeigt.
  • "chip": Das Gadgets wird angezeigt, wenn auf das Ereignis geklickt wird.
Bearbeitbar
gadget.height integer Die Höhe des Gadgets in Pixeln. Die Höhe muss eine Ganzzahl größer als 0 sein. Optional. Verworfen. Bearbeitbar
gadget.preferences object Einstellungen. Bearbeitbar
gadget.title string Der Titel des Gadgets. Verworfen. Bearbeitbar
gadget.type string Der Typ des Gadgets. Verworfen. Bearbeitbar
gadget.width integer Die Breite des Gadgets in Pixeln. Die Breite muss eine Ganzzahl größer als 0 sein. Optional. Verworfen. Bearbeitbar
guestsCanInviteOthers boolean Gibt an, ob andere Teilnehmer als der Organisator andere zu dem Termin einladen können. Optional. Der Standardwert ist „True“. Bearbeitbar
guestsCanModify boolean Ob andere Teilnehmer als der Organisator die Veranstaltung ändern können. Optional. Die Standardeinstellung ist "False". Bearbeitbar
guestsCanSeeOtherGuests boolean Ob andere Teilnehmer als der Organisator sehen können, wer die Teilnehmer der Veranstaltung sind. Optional. Der Standardwert ist "True". Bearbeitbar
id string Intransparente ID des Ereignisses. Wenn Sie neue einmalige oder wiederkehrende Ereignisse erstellen, können Sie deren IDs angeben. Die angegebenen IDs müssen den folgenden Regeln entsprechen:
  • In der ID sind nur Zeichen zulässig, die in der Base32Hex-Codierung verwendet werden, d. h. Kleinbuchstaben a–v und Ziffern 0–9. Weitere Informationen finden Sie in Abschnitt 3.1.2 von RFC2938.
  • Die ID muss zwischen 5 und 1.024 Zeichen lang sein.
  • Die ID muss pro Kalender eindeutig sein.
Da das System global verteilt ist, können wir nicht garantieren, dass ID-Kollisionen bei der Ereigniserstellung erkannt werden. Um das Risiko von Kollisionen zu minimieren, empfehlen wir die Verwendung eines etablierten UUID-Algorithmus, wie er in RFC4122 beschrieben ist.

Wenn Sie keine ID angeben, wird sie automatisch vom Server generiert.

Beachten Sie, dass icalUID und id nicht identisch sind und nur eines davon beim Erstellen des Ereignisses angegeben werden sollte. Ein Unterschied in der Semantik besteht darin, dass bei wiederkehrenden Ereignissen alle Vorkommnisse eines Ereignisses unterschiedliche ids haben, während sie alle dieselben icalUIDs haben.

Bearbeitbar
location string Der geografische Standort des Ereignisses als Freitext. Optional. Bearbeitbar
originalStartTime.date date Das Datum im Format "jjjj-mm-tt", wenn es sich um einen ganztägigen Termin handelt. Bearbeitbar
originalStartTime.dateTime datetime Die Uhrzeit als kombinierter Datums- und Zeitwert (formatiert gemäß RFC3339). Eine Zeitzonenverschiebung ist erforderlich, es sei denn, in timeZone ist eine Zeitzone explizit angegeben. Bearbeitbar
originalStartTime.timeZone string Die Zeitzone, in der die Uhrzeit angegeben ist. (Formatiert als Name aus der IANA-Zeitzonendatenbank, z.B. „Europe/Zurich“). Bei wiederkehrenden Ereignissen ist dieses Feld erforderlich. Es gibt die Zeitzone an, in der die Wiederholung erweitert wird. Bei einzelnen Ereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für den Beginn/das Ende des Ereignisses an. Bearbeitbar
outOfOfficeProperties nested object Daten zu Abwesenheitsereignissen Wird verwendet, wenn eventType outOfOffice ist. Bearbeitbar
recurrence[] list Liste der Zeilen RRULE, EXRULE, RDATE und EXDATE für ein wiederkehrendes Ereignis gemäß RFC5545. Beachten Sie, dass die Zeilen DTSTART und DTEND in diesem Feld nicht zulässig sind. Beginn und Ende des Ereignisses werden in den Feldern start und end angegeben. Dieses Feld wird für einzelne Ereignisse oder Instanzen wiederkehrender Ereignisse weggelassen. Bearbeitbar
reminders.overrides[] list Wenn für das Ereignis nicht die Standarderinnerungen verwendet werden, werden hier die für das Ereignis spezifischen Erinnerungen aufgeführt. Andernfalls wird angezeigt, dass für dieses Ereignis keine Erinnerungen festgelegt sind. Die maximale Anzahl von Erinnerungen zum Überschreiben ist 5. Bearbeitbar
reminders.overrides[].method string Die von dieser Erinnerung verwendete Methode. Mögliche Werte:
  • email“: Erinnerungen werden per E-Mail gesendet.
  • popup“: Erinnerungen werden über ein Pop-up in der Benutzeroberfläche gesendet.

Erforderlich, wenn Sie eine Erinnerung hinzufügen.

Bearbeitbar
reminders.overrides[].minutes integer Anzahl der Minuten vor Beginn der Veranstaltung, zu der die Erinnerung ausgelöst werden soll. Gültige Werte liegen zwischen 0 und 40.320 (4 Wochen in Minuten).

Erforderlich beim Hinzufügen einer Erinnerung.

Bearbeitbar
reminders.useDefault boolean Ob die Standarderinnerungen des Kalenders auf das Ereignis angewendet werden. Bearbeitbar
sequence integer Sequenznummer gemäß iCalendar. Bearbeitbar
source.title string Der Titel der Quelle, z. B. der Titel einer Webseite oder der Betreff einer E-Mail. Bearbeitbar
source.url string URL der Quelle, die auf eine Ressource verweist. Das URL-Schema muss HTTP oder HTTPS sein. Bearbeitbar
start.date date Das Datum im Format "jjjj-mm-tt", wenn es sich um einen ganztägigen Termin handelt. Bearbeitbar
start.dateTime datetime Die Uhrzeit als kombinierter Datums- und Zeitwert (formatiert gemäß RFC3339). Eine Zeitzonenverschiebung ist erforderlich, es sei denn, in timeZone ist eine Zeitzone explizit angegeben. Bearbeitbar
start.timeZone string Die Zeitzone, in der die Uhrzeit angegeben ist. (Formatiert als Name aus der IANA-Zeitzonendatenbank, z.B. „Europe/Zurich“). Bei wiederkehrenden Ereignissen ist dieses Feld erforderlich. Es gibt die Zeitzone an, in der die Wiederholung erweitert wird. Bei einzelnen Ereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für den Beginn/das Ende des Ereignisses an. Bearbeitbar
status string Status des Ereignisses. Optional. Mögliche Werte:
  • confirmed“: Das Ereignis ist bestätigt. Dies ist der Standardstatus.
  • tentative“: Der Termin ist vorläufig bestätigt.
  • cancelled“: Die Veranstaltung wurde abgesagt (gelöscht). Die Methode list gibt nur bei inkrementeller Synchronisierung abgebrochene Ereignisse zurück (wenn syncToken oder updatedMin angegeben sind) oder wenn das Flag showDeleted auf true gesetzt ist. Die get-Methode gibt sie immer zurück.

    Der Status „Abgebrochen“ kann je nach Ereignistyp zwei verschiedene Status haben:

    1. Abgesagte Ausnahmen für einen nicht abgesagten wiederkehrenden Termin geben an, dass diese Instanz dem Nutzer nicht mehr angezeigt werden soll. Clients sollten diese Ereignisse für die gesamte Lebensdauer des übergeordneten wiederkehrenden Ereignisses speichern.

      Bei stornierten Ausnahmen sind nur Werte für die Felder id, recurringEventId und originalStartTime ausgefüllt. Die anderen Felder können leer sein.

    2. Alle anderen abgebrochenen Ereignisse sind gelöschte Ereignisse. Kunden sollten ihre lokal synchronisierten Kopien entfernen. Solche abgesagten Ereignisse werden irgendwann nicht mehr angezeigt und sind daher nicht unbegrenzt verfügbar.

      Bei gelöschten Ereignissen ist nur das Feld id garantiert ausgefüllt.

    Im Kalender des Organisators sind die Details der abgesagten Termine (Zusammenfassung, Ort usw.) weiterhin zu sehen, damit sie wiederhergestellt (nicht gelöscht) werden können. Ebenso werden weiterhin Details zu den Terminen angezeigt, zu denen der Nutzer eingeladen wurde und die er manuell entfernt hat. Bei Anfragen für die inkrementelle Synchronisierung, bei denen showDeleted auf „false“ (falsch) festgelegt ist, werden diese Details jedoch nicht zurückgegeben.

    Wenn sich der Organisator eines Termins ändert (z. B. über den Vorgang Verschieben) und der ursprüngliche Organisator nicht auf der Teilnehmerliste steht, wird ein abgesagter Termin zurückgelassen, bei dem nur das Feld id garantiert ausgefüllt ist.

Bearbeitbar
summary string Titel der Veranstaltung. Bearbeitbar
transparency string Gibt an, ob der Termin Zeit im Kalender blockiert. Optional. Mögliche Werte:
  • opaque“ – Standardwert. Der Termin blockiert die Zeit im Kalender. Das entspricht der Einstellung Als Beschäftigt in der Kalenderoberfläche.
  • "transparent": Durch den Termin wird keine Zeit im Kalender gesperrt. Dies entspricht der Einstellung Anzeigen als in der Kalender-Benutzeroberfläche auf Verfügbar.
Bearbeitbar
visibility string Sichtbarkeit des Ereignisses. Optional. Mögliche Werte:
  • default“: Die Standardsichtbarkeit für Termine im Kalender wird verwendet. „Immer“ ist der Standardwert.
  • public“: Der Termin ist öffentlich und die Termindetails sind für alle Leser des Kalenders sichtbar.
  • private“: Die Veranstaltung ist privat und nur Teilnehmer können sich die Details ansehen.
  • confidential“: Das Ereignis ist privat. Dieser Wert wird aus Kompatibilitätsgründen angegeben.
Bearbeitbar
workingLocationProperties nested object Ereignisdaten zum Arbeitsplatz Bearbeitbar
workingLocationProperties.customLocation object Gibt an, dass der Nutzer von einem benutzerdefinierten Standort aus arbeitet. Bearbeitbar
workingLocationProperties.customLocation.label string Optionales zusätzliches Label für zusätzliche Informationen. Bearbeitbar
workingLocationProperties.homeOffice any value Falls vorhanden: Gibt an, dass der Nutzer zu Hause arbeitet. Bearbeitbar
workingLocationProperties.officeLocation object Gibt an, dass der Nutzer in einem Büro arbeitet. Bearbeitbar
workingLocationProperties.officeLocation.buildingId string Eine optionale Gebäude-ID. Diese sollte auf eine Gebäude-ID in der Ressourcendatenbank der Organisation verweisen. Bearbeitbar
workingLocationProperties.officeLocation.deskId string Eine optionale Desk-ID. Bearbeitbar
workingLocationProperties.officeLocation.floorId string Eine optionale Etagenkennzeichnung. Bearbeitbar
workingLocationProperties.officeLocation.floorSectionId string Eine optionale Etagenabschnitts-ID. Bearbeitbar
workingLocationProperties.officeLocation.label string Der Name des Büros, der in der Webversion und in den mobilen Clients von Google Kalender angezeigt wird. Wir empfehlen, in der Ressourcendatenbank der Organisation auf einen Gebäudenamen zu verweisen. Bearbeitbar
workingLocationProperties.type string Typ des Arbeitsorts. Mögliche Werte:
  • homeOffice“: Der Nutzer arbeitet zu Hause.
  • officeLocation“: Der Nutzer arbeitet in einem Büro.
  • customLocation“: Der Nutzer arbeitet von einem benutzerdefinierten Standort aus.
Alle Details werden in einem Unterfeld des angegebenen Namens angegeben. Dieses Feld kann jedoch fehlen, wenn es leer ist. Alle anderen Felder werden ignoriert.

Erforderlich, wenn Properties für den Arbeitsort hinzugefügt werden.

Bearbeitbar

Antwort

Wenn der Vorgang erfolgreich ist, wird mit dieser Methode eine Ereignisressource im Antworttext zurückgegeben.

Beispiele

Hinweis: Bei den für diese Methode verfügbaren Codebeispielen sind nicht alle unterstützten Programmiersprachen vertreten. Eine Liste der unterstützten Sprachen finden Sie auf der Seite für Clientbibliotheken.

Java

Verwendet die Java-Clientbibliothek.

// Refer to the Java quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/java
// Change the scope to CalendarScopes.CALENDAR and delete any stored
// credentials.

Event event = new Event()
    .setSummary("Google I/O 2015")
    .setLocation("800 Howard St., San Francisco, CA 94103")
    .setDescription("A chance to hear more about Google's developer products.");

DateTime startDateTime = new DateTime("2015-05-28T09:00:00-07:00");
EventDateTime start = new EventDateTime()
    .setDateTime(startDateTime)
    .setTimeZone("America/Los_Angeles");
event.setStart(start);

DateTime endDateTime = new DateTime("2015-05-28T17:00:00-07:00");
EventDateTime end = new EventDateTime()
    .setDateTime(endDateTime)
    .setTimeZone("America/Los_Angeles");
event.setEnd(end);

String[] recurrence = new String[] {"RRULE:FREQ=DAILY;COUNT=2"};
event.setRecurrence(Arrays.asList(recurrence));

EventAttendee[] attendees = new EventAttendee[] {
    new EventAttendee().setEmail("[email protected]"),
    new EventAttendee().setEmail("[email protected]"),
};
event.setAttendees(Arrays.asList(attendees));

EventReminder[] reminderOverrides = new EventReminder[] {
    new EventReminder().setMethod("email").setMinutes(24 * 60),
    new EventReminder().setMethod("popup").setMinutes(10),
};
Event.Reminders reminders = new Event.Reminders()
    .setUseDefault(false)
    .setOverrides(Arrays.asList(reminderOverrides));
event.setReminders(reminders);

String calendarId = "primary";
event = service.events().insert(calendarId, event).execute();
System.out.printf("Event created: %s\n", event.getHtmlLink());

Python

Verwendet die Python-Clientbibliothek.

# Refer to the Python quickstart on how to setup the environment:
# https://developers.google.com/calendar/quickstart/python
# Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
# stored credentials.

event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': '[email protected]'},
    {'email': '[email protected]'},
  ],
  'reminders': {
    'useDefault': False,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10},
    ],
  },
}

event = service.events().insert(calendarId='primary', body=event).execute()
print 'Event created: %s' % (event.get('htmlLink'))

PHP

Verwendet die PHP-Clientbibliothek.

// Refer to the PHP quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/php
// Change the scope to Google_Service_Calendar::CALENDAR and delete any stored
// credentials.

$event = new Google_Service_Calendar_Event(array(
  'summary' => 'Google I/O 2015',
  'location' => '800 Howard St., San Francisco, CA 94103',
  'description' => 'A chance to hear more about Google\'s developer products.',
  'start' => array(
    'dateTime' => '2015-05-28T09:00:00-07:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'end' => array(
    'dateTime' => '2015-05-28T17:00:00-07:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'recurrence' => array(
    'RRULE:FREQ=DAILY;COUNT=2'
  ),
  'attendees' => array(
    array('email' => '[email protected]'),
    array('email' => '[email protected]'),
  ),
  'reminders' => array(
    'useDefault' => FALSE,
    'overrides' => array(
      array('method' => 'email', 'minutes' => 24 * 60),
      array('method' => 'popup', 'minutes' => 10),
    ),
  ),
));

$calendarId = 'primary';
$event = $service->events->insert($calendarId, $event);
printf('Event created: %s\n', $event->htmlLink);

Ruby

Verwendet die Ruby-Clientbibliothek.

event = Google::Apis::CalendarV3::Event.new(
  summary: 'Google I/O 2015',
  location: '800 Howard St., San Francisco, CA 94103',
  description: 'A chance to hear more about Google\'s developer products.',
  start: Google::Apis::CalendarV3::EventDateTime.new(
    date_time: '2015-05-28T09:00:00-07:00',
    time_zone: 'America/Los_Angeles'
  ),
  end: Google::Apis::CalendarV3::EventDateTime.new(
    date_time: '2015-05-28T17:00:00-07:00',
    time_zone: 'America/Los_Angeles'
  ),
  recurrence: [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  attendees: [
    Google::Apis::CalendarV3::EventAttendee.new(
      email: '[email protected]'
    ),
    Google::Apis::CalendarV3::EventAttendee.new(
      email: '[email protected]'
    )
  ],
  reminders: Google::Apis::CalendarV3::Event::Reminders.new(
    use_default: false,
    overrides: [
      Google::Apis::CalendarV3::EventReminder.new(
        reminder_method: 'email',
        minutes: 24 * 60
      ),
      Google::Apis::CalendarV3::EventReminder.new(
        reminder_method: 'popup',
        minutes: 10
      )
    ]
  )
)

result = client.insert_event('primary', event)
puts "Event created: #{result.html_link}"

.NET

Verwendet die .NET-Clientbibliothek.

// Refer to the .NET quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/dotnet
// Change the scope to CalendarService.Scope.Calendar and delete any stored
// credentials.

Event newEvent = new Event()
{
    Summary = "Google I/O 2015",
    Location = "800 Howard St., San Francisco, CA 94103",
    Description = "A chance to hear more about Google's developer products.",
    Start = new EventDateTime()
    {
        DateTime = DateTime.Parse("2015-05-28T09:00:00-07:00"),
        TimeZone = "America/Los_Angeles",
    },
    End = new EventDateTime()
    {
        DateTime = DateTime.Parse("2015-05-28T17:00:00-07:00"),
        TimeZone = "America/Los_Angeles",
    },
    Recurrence = new String[] { "RRULE:FREQ=DAILY;COUNT=2" },
    Attendees = new EventAttendee[] {
        new EventAttendee() { Email = "[email protected]" },
        new EventAttendee() { Email = "[email protected]" },
    },
    Reminders = new Event.RemindersData()
    {
        UseDefault = false,
        Overrides = new EventReminder[] {
            new EventReminder() { Method = "email", Minutes = 24 * 60 },
            new EventReminder() { Method = "sms", Minutes = 10 },
        }
    }
};

String calendarId = "primary";
EventsResource.InsertRequest request = service.Events.Insert(newEvent, calendarId);
Event createdEvent = request.Execute();
Console.WriteLine("Event created: {0}", createdEvent.HtmlLink);

Ok

Verwendet die Go-Clientbibliothek.

// Refer to the Go quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/go
// Change the scope to calendar.CalendarScope and delete any stored credentials.

event := &calendar.Event{
  Summary: "Google I/O 2015",
  Location: "800 Howard St., San Francisco, CA 94103",
  Description: "A chance to hear more about Google's developer products.",
  Start: &calendar.EventDateTime{
    DateTime: "2015-05-28T09:00:00-07:00",
    TimeZone: "America/Los_Angeles",
  },
  End: &calendar.EventDateTime{
    DateTime: "2015-05-28T17:00:00-07:00",
    TimeZone: "America/Los_Angeles",
  },
  Recurrence: []string{"RRULE:FREQ=DAILY;COUNT=2"},
  Attendees: []*calendar.EventAttendee{
    &calendar.EventAttendee{Email:"[email protected]"},
    &calendar.EventAttendee{Email:"[email protected]"},
  },
}

calendarId := "primary"
event, err = srv.Events.Insert(calendarId, event).Do()
if err != nil {
  log.Fatalf("Unable to create event. %v\n", err)
}
fmt.Printf("Event created: %s\n", event.HtmlLink)

JavaScript

Verwendet die JavaScript-Clientbibliothek.

// Refer to the JavaScript quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/js
// Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
// stored credentials.

var event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles'
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles'
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': '[email protected]'},
    {'email': '[email protected]'}
  ],
  'reminders': {
    'useDefault': false,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10}
    ]
  }
};

var request = gapi.client.calendar.events.insert({
  'calendarId': 'primary',
  'resource': event
});

request.execute(function(event) {
  appendPre('Event created: ' + event.htmlLink);
});

Node.js

Verwendet die Node.js-Clientbibliothek.

// Refer to the Node.js quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/node
// Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
// stored credentials.

var event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': '[email protected]'},
    {'email': '[email protected]'},
  ],
  'reminders': {
    'useDefault': false,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10},
    ],
  },
};

calendar.events.insert({
  auth: auth,
  calendarId: 'primary',
  resource: event,
}, function(err, event) {
  if (err) {
    console.log('There was an error contacting the Calendar service: ' + err);
    return;
  }
  console.log('Event created: %s', event.htmlLink);
});

Testen!

Verwenden Sie den unten angegebenen APIs Explorer, um diese Methode für Livedaten aufzurufen und die Antwort einzusehen.