Events: insert

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

Anfragen

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 das Keyword „primary“.
Optionale Abfrageparameter
conferenceDataVersion integer Versionsnummer der vom API-Client unterstützten Konferenzdaten. In Version 0 wird davon ausgegangen, dass keine Konferenzdaten unterstützt werden, und die Konferenzdaten werden im Text der Veranstaltung ignoriert. Version 1 ermöglicht das Kopieren von ConferenceData sowie das Erstellen neuer Konferenzen mithilfe des Felds createRequest von ConferenceData. Der Standardwert ist 0. Zulässige Werte: 0 bis 1.
maxAttendees integer Die maximale Anzahl von Teilnehmern, die in die Antwort aufgenommen werden sollen. Wenn es mehr als die angegebene Anzahl von Teilnehmern gibt, wird nur der Teilnehmer zurückgegeben. Optional.
sendNotifications boolean Veraltet. Verwenden Sie 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, wenn Sie den Wert auf false festlegen. Der Standardwert ist false.
sendUpdates string Gibt an, ob Benachrichtigungen über die Erstellung des neuen Termins gesendet werden. Beachten Sie, dass einige E-Mails möglicherweise trotzdem gesendet werden. 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 diesen Vorgang ausführt, Ereignisanhänge unterstützt. Optional. Die Standardeinstellung ist "False".

Autorisierung

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

Bereich
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 Attributen an:

Property-Name Wert Beschreibung Hinweise
Erforderliche Eigenschaften
end nested object Die (exklusive) Endzeit des Ereignisses. Bei einem wiederkehrenden Termin ist dies das Ende des ersten Termins.
start nested object Die (inklusive) Startzeit des Ereignisses. Bei einem wiederkehrenden Termin ist dies der Beginn des ersten Termins.
Optionale Attribute
anyoneCanAddSelf boolean Ob jemand sich selbst zum Termin einladen kann (eingestellt). Optional. Die Standardeinstellung ist "False". Bearbeitbar
attachments[].fileUrl string URL-Link zum Anhang.

Verwenden Sie zum Hinzufügen von Google Drive-Dateianhängen dasselbe Format wie im Attribut „alternateLink“ der Ressource „Files“ in der Drive API.

Erforderlich beim Hinzufügen eines Anhangs.

Bearbeitbar
attendees[] list Die Teilnehmer des Termins. Weitere Informationen zum Planen von Terminen mit anderen Kalendernutzern finden Sie im Leitfaden Termine mit Teilnehmern. Bei Dienstkonten muss die domainweite Befugnisdelegation verwendet werden, um die Teilnehmerliste zu füllen. Bearbeitbar
attendees[].additionalGuests integer Anzahl der zusätzlichen Gäste. Optional. Der Standardwert ist 0. Bearbeitbar
attendees[].comment string Kommentar zur Antwort des Teilnehmers. 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 vorhanden sein, wenn ein Gast hinzugefügt wird. Es muss eine gültige E-Mail-Adresse gemäß RFC5322 sein.

Erforderlich beim Hinzufügen eines Gastes.

Bearbeitbar
attendees[].optional boolean Gibt an, ob dies ein optionaler Teilnehmer ist. Optional. Die Standardeinstellung ist "False". Bearbeitbar
attendees[].resource boolean Gibt an, ob der Teilnehmer eine Ressource ist. Kann nur festgelegt werden, wenn ein Gast zum ersten Mal dem Termin hinzugefügt wird. Nachfolgende Änderungen werden ignoriert. Optional. Die Standardeinstellung ist "False". Bearbeitbar
attendees[].responseStatus string Der Antwortstatus des Teilnehmers. Mögliche Werte sind:
  • "needsAction": Der Teilnehmer hat nicht auf die Einladung reagiert (für neue Termine empfohlen).
  • "declined": Der Teilnehmer hat die Einladung abgelehnt.
  • "tentative": Der Teilnehmer hat die Einladung vorläufig angenommen.
  • "accepted": Der Teilnehmer hat die Einladung angenommen.
Bearbeitbar
colorId string Die Farbe des Termins. Dies ist eine ID, die sich auf einen Eintrag im Abschnitt event der Farbdefinition bezieht (siehe Endpunkt für Farben). Optional. Bearbeitbar
conferenceData nested object Informationen zur Konferenz, z. B. Details zu einer Google Meet-Konferenz. Verwenden Sie zum Erstellen neuer Konferenzdetails das Feld createRequest. Damit Ihre Änderungen erhalten bleiben, müssen Sie den conferenceDataVersion-Anfrageparameter bei allen Anfragen zur Ereignisänderung auf 1 setzen. 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 Datum-Uhrzeitwert (gemäß RFC3339 formatiert). Ein Zeitzonenversatz ist erforderlich, es sei denn, eine Zeitzone ist explizit in timeZone angegeben. Bearbeitbar
end.timeZone string Die Zeitzone, in der die Uhrzeit angegeben ist. (Formatiert als Name der IANA-Zeitzonendatenbank, z.B. „Europa/Zürich“.) Bei wiederkehrenden Terminen ist dieses Feld erforderlich und gibt die Zeitzone an, in der die Wiederholung erweitert wird. Bei einzelnen Ereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für Beginn und Ende des Ereignisses an. Bearbeitbar
eventType string Spezifischer Typ des Ereignisses. Dies kann nach dem Erstellen des Ereignisses nicht mehr geändert werden. Mögliche Werte sind:
  • "default": Ein reguläres Ereignis oder ein nicht weiter angegebenes Ereignis.
  • outOfOffice“: ein Außer-Haus-Termin.
  • focusTime“: ein Fokuszeit-Termin.
  • workingLocation“: Ein Arbeitsortereignis.
Bearbeitbar
extendedProperties.private object Eigenschaften, die auf die Kopie des Termins in diesem Kalender beschränkt sind. Bearbeitbar
extendedProperties.shared object Eigenschaften, die von Kopien des Termins in den Kalendern anderer Teilnehmer verwendet werden. Bearbeitbar
focusTimeProperties nested object Fokuszeit-Ereignisdaten. Wird verwendet, wenn eventType den Wert focusTime hat. Bearbeitbar
gadget.display string Der Anzeigemodus des Gadgets. Veraltet. Mögliche Werte sind:
  • icon“: Das Gerät wird in der Kalenderansicht neben dem Titel des Termins angezeigt.
  • "chip": Das Gerät 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. Veraltet. Bearbeitbar
gadget.preferences object Einstellungen. Bearbeitbar
gadget.title string Der Titel des Gadgets. Veraltet. Bearbeitbar
gadget.type string Der Typ des Gadgets. Veraltet. Bearbeitbar
gadget.width integer Die Breite des Gadgets in Pixeln. Die Breite muss eine Ganzzahl größer als 0 sein. Optional. Veraltet. Bearbeitbar
guestsCanInviteOthers boolean Gibt an, ob andere Personen als der Organisator andere zum Termin einladen können. Optional. Der Standardwert ist „True“. Bearbeitbar
guestsCanModify boolean Gibt an, ob andere Personen als der Organisator den Termin bearbeiten können. Optional. Die Standardeinstellung ist "False". Bearbeitbar
guestsCanSeeOtherGuests boolean Gibt an, ob andere Personen als der Organisator sehen können, wer an dem Termin teilnimmt. Optional. Der Standardwert ist „True“. Bearbeitbar
id string Intransparente ID des Ereignisses. Wenn Sie neue einzelne oder wiederkehrende Termine erstellen, können Sie die zugehörigen IDs angeben. Angegebene IDs müssen diesen Regeln entsprechen:
  • Für die ID sind die Zeichen zulässig, die in der base32hex-Codierung verwendet werden, d. h. Kleinbuchstaben a–v und Ziffern 0–9, siehe Abschnitt 3.1.2 in RFC2938.
  • Die Länge der ID muss zwischen 5 und 1.024 Zeichen liegen
  • Die ID muss pro Kalender eindeutig sein.
Da das System global verteilt ist, können wir nicht garantieren, dass ID-Kollisionen zum Zeitpunkt der Ereigniserstellung erkannt werden. Wir empfehlen, einen etablierten UUID-Algorithmus wie in RFC4122 beschrieben zu verwenden, um das Risiko von Konflikten zu minimieren.

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

Die icalUID und die id sind nicht identisch und es sollte beim Erstellen des Ereignisses nur einer davon angegeben werden. Ein Unterschied in der Semantik besteht darin, dass bei wiederkehrenden Ereignissen alle Vorkommen eines Ereignisses unterschiedliche id-Werte haben, während sie alle dieselben icalUID-Werte haben.

Bearbeitbar
location string Der geografische Ort 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 Datum-Uhrzeitwert (gemäß RFC3339 formatiert). Ein Zeitzonenversatz ist erforderlich, es sei denn, eine Zeitzone ist explizit in timeZone angegeben. Bearbeitbar
originalStartTime.timeZone string Die Zeitzone, in der die Uhrzeit angegeben ist. (Formatiert als Name der IANA-Zeitzonendatenbank, z.B. „Europa/Zürich“.) Bei wiederkehrenden Terminen ist dieses Feld erforderlich und gibt die Zeitzone an, in der die Wiederholung erweitert wird. Bei einzelnen Ereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für Beginn und Ende des Ereignisses an. Bearbeitbar
outOfOfficeProperties nested object Daten zu Außer-Haus-Terminen. Wird verwendet, wenn eventType den Wert outOfOffice hat. Bearbeitbar
recurrence[] list Liste der Zeilen RRULE, EXRULE, RDATE und EXDATE für einen wiederkehrenden Termin, wie in RFC5545 angegeben. Beachten Sie, dass DTSTART- und DTEND-Zeilen in diesem Feld nicht zulässig sind; Start- und Endzeiten von Ereignissen werden in den Feldern start und end angegeben. Bei einzelnen Terminen oder wiederkehrenden Terminen wird dieses Feld weggelassen. Bearbeitbar
reminders.overrides[] list Wenn für den Termin keine Standarderinnerungen verwendet werden, werden hier die Erinnerungen speziell für den Termin angezeigt. Ist die Richtlinie nicht konfiguriert, werden für diesen Termin keine Erinnerungen eingerichtet. Es können maximal fünf Erinnerungen überschrieben werden. Bearbeitbar
reminders.overrides[].method string Die von dieser Erinnerung verwendete Methode. Mögliche Werte sind:
  • "email": Erinnerungen werden per E-Mail gesendet.
  • popup“: Erinnerungen werden über ein Pop-up auf der Benutzeroberfläche gesendet.

Erforderlich, wenn eine Erinnerung hinzugefügt wird.

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

Erforderlich, wenn eine Erinnerung hinzugefügt wird.

Bearbeitbar
reminders.useDefault boolean Legt fest, ob die Standarderinnerungen des Kalenders für den Termin gelten. Bearbeitbar
sequence integer Sequenznummer gemäß iKalender. Bearbeitbar
source.title string 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 Datum-Uhrzeitwert (gemäß RFC3339 formatiert). Ein Zeitzonenversatz ist erforderlich, es sei denn, eine Zeitzone ist explizit in timeZone angegeben. Bearbeitbar
start.timeZone string Die Zeitzone, in der die Uhrzeit angegeben ist. (Formatiert als Name der IANA-Zeitzonendatenbank, z.B. „Europa/Zürich“.) Bei wiederkehrenden Terminen ist dieses Feld erforderlich und gibt die Zeitzone an, in der die Wiederholung erweitert wird. Bei einzelnen Ereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für Beginn und Ende des Ereignisses an. Bearbeitbar
status string Status des Ereignisses. Optional. Mögliche Werte sind:
  • confirmed“: Das Ereignis wurde bestätigt. Das ist der Standardstatus.
  • "tentative": Der Termin wurde vorläufig bestätigt.
  • "cancelled": Das Ereignis wurde abgebrochen (gelöscht). Die list-Methode gibt abgebrochene Ereignisse nur bei inkrementeller Synchronisierung zurück (wenn syncToken oder updatedMin angegeben ist) oder wenn das Flag showDeleted auf true gesetzt ist. Die Methode get gibt sie immer zurück.

    Der Status „Storniert“ steht je nach Ereignistyp für zwei verschiedene Status:

    1. Abgebrochene Ausnahmen eines nicht abgebrochenen wiederkehrenden Termins weisen darauf hin, dass diese Instanz dem Nutzer nicht mehr angezeigt werden soll. Kunden sollten diese Ereignisse für die Lebensdauer des übergeordneten wiederkehrenden Ereignisses speichern.

      Für abgebrochene Ausnahmen werden garantiert nur Werte für die Felder id, recurringEventId und originalStartTime ausgefüllt. Die anderen Felder sind möglicherweise leer.

    2. Alle anderen abgesagten Ereignisse stellen gelöschte Ereignisse dar. Kunden sollten ihre lokal synchronisierten Kopien entfernen. Solche abgebrochenen Ereignisse verschwinden irgendwann, daher sollten Sie sich nicht darauf verlassen, dass sie auf unbestimmte Zeit verfügbar sind.

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

    Im Kalender des Organisators werden für abgesagte Termine weiterhin Termindetails (Zusammenfassung, Ort usw.) angezeigt, damit sie wiederhergestellt werden können. Auch die Termine, zu denen der Nutzer eingeladen wurde und die er manuell entfernt hat, enthalten weiterhin Details. Bei inkrementellen Synchronisierungsanfragen, bei denen showDeleted auf "false" gesetzt ist, werden diese Details jedoch nicht zurückgegeben.

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

Bearbeitbar
summary string Titel der Veranstaltung. Bearbeitbar
transparency string Gibt an, ob durch den Termin Zeit im Kalender blockiert wird. Optional. Mögliche Werte sind:
  • "opaque": Standardwert. In diesem Fall wird im Kalender eine Zeitblockade angezeigt. Dies entspricht der Einstellung Anzeigen als in der Google Kalender-Benutzeroberfläche auf Beschäftigt.
  • "transparent": Für diesen Termin wurde die Zeit im Kalender nicht blockiert. Dies entspricht der Einstellung Zeigen als in der Kalender-Benutzeroberfläche auf Verfügbar.
Bearbeitbar
visibility string Sichtbarkeit des Ereignisses. Optional. Mögliche Werte sind:
  • "default": Verwendet die Standardeinstellung für die Sichtbarkeit von Terminen im Kalender. „Immer“ ist der Standardwert.
  • "public": Der Termin ist öffentlich und die Termindetails sind für alle Leser des Kalenders sichtbar.
  • "private": Dieser Termin ist privat und nur die Teilnehmer können die Termindetails sehen.
  • "confidential": Dieser Termin ist privat. Dieser Wert wird aus Kompatibilitätsgründen angegeben.
Bearbeitbar
workingLocationProperties nested object Ereignisdaten zu einem Arbeitsort. Bearbeitbar
workingLocationProperties.customLocation object Falls vorhanden, gibt diese an, dass der Nutzer von einem benutzerdefinierten Standort aus arbeitet. Bearbeitbar
workingLocationProperties.customLocation.label string Ein optionales zusätzliches Label für zusätzliche Informationen. Bearbeitbar
workingLocationProperties.homeOffice any value Falls vorhanden, wird angegeben, dass der Nutzer von zu Hause aus arbeitet. Bearbeitbar
workingLocationProperties.officeLocation object Falls vorhanden, gibt der Nutzer an, dass er im Büro arbeitet. Bearbeitbar
workingLocationProperties.officeLocation.buildingId string Eine optionale Gebäude-ID. Sie sollte auf eine Gebäude-ID in der Ressourcendatenbank der Organisation verweisen. Bearbeitbar
workingLocationProperties.officeLocation.deskId string Eine optionale Desktop-ID. Bearbeitbar
workingLocationProperties.officeLocation.floorId string Eine optionale Kennung der Etage. Bearbeitbar
workingLocationProperties.officeLocation.floorSectionId string Eine optionale Kennung des Etagenabschnitts. Bearbeitbar
workingLocationProperties.officeLocation.label string Der Büroname, der in Google Kalender Web- und Google Kalender-Clients angezeigt wird Wir empfehlen, in der Ressourcendatenbank der Organisation auf einen Gebäudenamen zu verweisen. Bearbeitbar
workingLocationProperties.type string Art des Arbeitsorts. Mögliche Werte sind:
  • homeOffice“: Der Nutzer arbeitet von zu Hause aus.
  • 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 beim Hinzufügen von Eigenschaften für den Arbeitsort.

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("lpage@example.com"),
    new EventAttendee().setEmail("sbrin@example.com"),
};
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': 'lpage@example.com'},
    {'email': 'sbrin@example.com'},
  ],
  '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' => 'lpage@example.com'),
    array('email' => 'sbrin@example.com'),
  ),
  '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: 'lpage@example.com'
    ),
    Google::Apis::CalendarV3::EventAttendee.new(
      email: 'sbrin@example.com'
    )
  ],
  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 = "lpage@example.com" },
        new EventAttendee() { Email = "sbrin@example.com" },
    },
    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:"lpage@example.com"},
    &calendar.EventAttendee{Email:"sbrin@example.com"},
  },
}

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

Es wird die JavaScript-Clientbibliothek verwendet.

// 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': 'lpage@example.com'},
    {'email': 'sbrin@example.com'}
  ],
  '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': 'lpage@example.com'},
    {'email': 'sbrin@example.com'},
  ],
  '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);
});

Jetzt testen

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