Events: insert

Erstellt ein Ereignis. Probieren Sie es jetzt 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 primären Kalender des aktuell angemeldeten Nutzers zugreifen möchten, verwenden Sie das Keyword „primary“.
Optionale Suchparameter
conferenceDataVersion integer Versionsnummer der vom API-Client unterstützten Konferenzdaten. In Version 0 wird davon ausgegangen, dass keine Konferenzdaten unterstützt werden, und ignoriert Konferenzdaten im Text des Ereignisses. Version 1 unterstützt das Kopieren von ConferenceData und das Erstellen neuer Konferenzen mit dem Feld „createRequest“ von „dataData. Der Standardwert ist 0. Zulässige Werte: 0 bis 1.
maxAttendees integer Die maximale Anzahl von Teilnehmern, die in die Antwort aufgenommen werden. Wenn mehr als die angegebene Anzahl an Teilnehmern zur Verfügung steht, wird nur der Teilnehmer zurückgegeben. Optional.
sendNotifications boolean Veraltet. Verwenden Sie stattdessen sendUpdates.

Gibt an, ob Benachrichtigungen zur Erstellung des neuen Ereignisses gesendet werden sollen. Einige E-Mails werden möglicherweise trotzdem gesendet, auch wenn du den Wert auf false setzt. Der Standardwert ist false.
sendUpdates string Gibt an, ob Benachrichtigungen zur Erstellung des neuen Ereignisses gesendet werden sollen. Einige E-Mails werden möglicherweise noch gesendet. Der Standardwert ist false.

Folgende Werte sind zulässig:
  • 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 die Aktion ausführt, Ereignisanhänge unterstützt. Optional. Die Standardeinstellung ist "False".

Autorisierung

Diese Anfrage erfordert eine Autorisierung mit mindestens einem der folgenden Bereiche:

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

Property-Name Wert Beschreibung Hinweise
Erforderliche Properties
end nested object Das (exklusive) Ende des Ereignisses. Bei einem wiederkehrenden Termin ist dies das Ende der ersten Instanz.
start nested object Der Beginn (einschließlich) des Ereignisses. Bei einem wiederkehrenden Termin ist dies der Beginn der ersten Instanz.
Optionale Properties
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 bei der alternateLink-Property der Files-Ressource in der Drive API.

Erforderlich, wenn ein Anhang hinzugefügt wird.

Bearbeitbar
attendees[] list Die Gäste des Termins. Weitere Informationen zur Planung von Terminen mit anderen Nutzern des Kalenders finden Sie im Leitfaden Termine mit Teilnehmern. Dienstkonten müssen die domainweite Delegierung von Befugnissen nutzen, 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 Der Antwortkommentar der Teilnehmer. Optional. Bearbeitbar
attendees[].displayName string Der Name des Teilnehmers, falls vorhanden. Optional. Bearbeitbar
attendees[].email string Die E-Mail-Adresse des Teilnehmers, falls verfügbar. Dieses Feld muss vorhanden sein, wenn ein Teilnehmer hinzugefügt wird. Es muss sich um eine gültige E-Mail-Adresse gemäß RFC5322 handeln.

Erforderlich, wenn Sie einen Gast hinzufügen.

Bearbeitbar
attendees[].optional boolean Ob dies ein optionaler Teilnehmer ist. Optional. Die Standardeinstellung ist "False". Bearbeitbar
attendees[].resource boolean Ob der Teilnehmer eine Ressource ist. Kann nur festgelegt werden, wenn ein Teilnehmer dem Termin 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 sind:
  • needsAction“: Der Teilnehmer hat nicht auf die Einladung geantwortet (für neue Termine empfohlen).
  • declined“: Der Teilnehmer hat die Einladung abgelehnt.
  • tentative“: Der Teilnehmer hat vorläufig die Einladung angenommen.
  • accepted“: Der Teilnehmer hat die Einladung angenommen.
Bearbeitbar
colorId string Die Farbe des Termins Dies ist eine ID, die auf einen Eintrag im Abschnitt event der Farbdefinition verweist (siehe Farbendpunkt). Optional. Bearbeitbar
conferenceData nested object Die mit der Konferenz in Verbindung stehenden Informationen, z. B. die Details einer Google Meet-Konferenz. Verwenden Sie das Feld createRequest, um neue Konferenzdetails zu erstellen. Wenn Sie die Änderungen beibehalten möchten, müssen Sie den conferenceDataVersion-Anfrageparameter für alle Ereignisänderungsanfragen 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 Wert für Datum/Uhrzeit (gemäß RFC3339 formatiert). Es muss eine Zeitzone angegeben werden, sofern in timeZone keine Zeitzone explizit angegeben ist. Bearbeitbar
end.timeZone string Die Zeitzone, in der die Zeit angegeben wird. Formatiert als IANA-Zeitzonendatenbankname, z.B. „Europa/Zürich“. Bei wiederkehrenden Terminen ist dieses Feld erforderlich und gibt die Zeitzone an, in der die Serie maximiert wird. Bei Einzelterminen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für den Beginn und das Ende des Termins an. Bearbeitbar
eventType string Bestimmter Ereignistyp. Dies kann nach dem Erstellen des Ereignisses nicht mehr geändert werden. Mögliche Werte sind:
  • default“: ein reguläres Ereignis oder wird nicht näher spezifiziert
  • "outOfOffice": Ein Außer-Haus-Termin
  • focusTime“: Ein Fokuszeit-Termin
  • workingLocation“: Ein Arbeitsort.
Derzeit können mit der API nur Ereignisse vom Typ „default“ und „workingLocation“ erstellt werden. Erweiterte Unterstützung für andere Ereignistypen wird in späteren Versionen verfügbar gemacht.
Bearbeitbar
extendedProperties.private object Eigenschaften, die privat für die Kopie des Termins sind, die in diesem Kalender angezeigt wird. Bearbeitbar
extendedProperties.shared object Eigenschaften, die zwischen den Kopien des Termins in den Kalendern anderer Teilnehmer freigegeben sind. Bearbeitbar
gadget.display string Anzeigemodus des Gadgets Veraltet. Mögliche Werte sind:
  • "icon": Das Gadget wird in der Kalenderansicht neben dem Titel des Termins angezeigt.
  • chip“: Das Gadget wird angezeigt, wenn auf das Ereignis geklickt wird.
Bearbeitbar
gadget.height integer 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 Breite des Gadgets in Pixeln Die Breite muss eine Ganzzahl größer als 0 sein. Optional. Veraltet. Bearbeitbar
guestsCanInviteOthers boolean Gibt an, ob andere Gäste als der Organisator andere zu einem Termin einladen können. Optional. Der Standardwert ist „True“. Bearbeitbar
guestsCanModify boolean Gibt an, ob Gäste außerhalb des Organisators den Termin ändern können. Optional. Die Standardeinstellung ist "False". Bearbeitbar
guestsCanSeeOtherGuests boolean Gibt an, ob Gäste außerhalb des Organisators sehen können, wer die Gäste sind. Optional. Der Standardwert ist „True“. Bearbeitbar
id string Undurchsichtige ID des Ereignisses. Beim Erstellen neuer einzelner oder wiederkehrender Termine können Sie die IDs dieser Personen angeben. Bereitgestellte IDs müssen diesen Regeln entsprechen:
  • In der ID zulässige Zeichen sind die, die in der base32hex-Codierung verwendet werden, d. h. die Kleinbuchstaben a-v und die Ziffern 0-9, siehe Abschnitt 3.1.2 in RFC2938.
  • Die ID-ID muss zwischen 5 und 1.024 Zeichen lang sein
  • Die ID muss für jeden Kalender eindeutig sein
Aufgrund der global verteilten Funktion des Systems können wir nicht dafür sorgen, dass es beim Erstellen von Ereignissen zu Kollisionen mit der ID kommt. Um das Risiko von Kollisionen zu minimieren, empfehlen wir Ihnen, einen UUID-Algorithmus wie RFC4122 zu verwenden.

Wenn du keine ID angibst, 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 Geografischer Ort des Ereignisses als freier Text. 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 Wert für Datum/Uhrzeit (gemäß RFC3339 formatiert). Es muss eine Zeitzone angegeben werden, sofern in timeZone keine Zeitzone explizit angegeben ist. Bearbeitbar
originalStartTime.timeZone string Die Zeitzone, in der die Zeit angegeben wird. Formatiert als IANA-Zeitzonendatenbankname, z.B. „Europa/Zürich“. Bei wiederkehrenden Terminen ist dieses Feld erforderlich und gibt die Zeitzone an, in der die Serie maximiert wird. Bei Einzelterminen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für den Beginn und das Ende des Termins an. Bearbeitbar
recurrence[] list Liste der Zeilen RRULE, EXRULE, RDATE und EXDATE für ein wiederkehrendes Ereignis, wie in RFC5545 angegeben. Beachten Sie, dass DTSTART- und DTEND-Zeilen in diesem Feld nicht zulässig sind. Start- und Endzeiten für Ereignisse sind in den Feldern start und end angegeben. Dieses Feld wird für einzelne Ereignisse oder Instanzen wiederkehrender Ereignisse weggelassen. Bearbeitbar
reminders.overrides[] list Falls für den Termin nicht die Standarderinnerungen verwendet werden, werden hier die spezifischen Erinnerungen für den Termin aufgeführt. Falls nicht, wird eine Erinnerung angezeigt. Die maximale Anzahl der Überschreibungserinnerungen beträgt 5. 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 UI-Pop-up gesendet.

Erforderlich beim Hinzufügen einer Erinnerung.

Bearbeitbar
reminders.overrides[].minutes integer Anzahl der Minuten vor Beginn des Ereignisses, zu denen 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 Gibt an, ob die Standarderinnerungen für den Kalender auf den Termin angewendet werden. Bearbeitbar
sequence integer Sequenznummer gemäß iCalendar Bearbeitbar
source.title string Titel der Quelle, etwa ein Titel auf einer Webseite oder ein E-Mail-Betreff 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 Wert für Datum/Uhrzeit (gemäß RFC3339 formatiert). Es muss eine Zeitzone angegeben werden, sofern in timeZone keine Zeitzone explizit angegeben ist. Bearbeitbar
start.timeZone string Die Zeitzone, in der die Zeit angegeben wird. Formatiert als IANA-Zeitzonendatenbankname, z.B. „Europa/Zürich“. Bei wiederkehrenden Terminen ist dieses Feld erforderlich und gibt die Zeitzone an, in der die Serie maximiert wird. Bei Einzelterminen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für den Beginn und das Ende des Termins an. Bearbeitbar
status string Der Status des Ereignisses. Optional. Mögliche Werte sind:
  • confirmed“: Das Ereignis wurde bestätigt. Das ist der Standardstatus.
  • tentative“: Das Ereignis wird vorläufig bestätigt.
  • cancelled“: Der Termin wurde abgesagt (gelöscht). Die Methode list gibt abgebrochene Ereignisse nur bei schrittweiser Synchronisierung zurück, wenn syncToken oder updatedMin angegeben sind, oder wenn das Flag showDeleted auf true gesetzt ist. Sie werden mit der Methode get immer zurückgegeben.

    Ein abgebrochener Status repräsentiert je nach Ereignistyp zwei verschiedene Status:

    1. Stornierte Ausnahmen eines nicht abgesagten wiederkehrenden Termins zeigen an, dass diese Instanz dem Nutzer nicht mehr angezeigt werden soll. Kunden sollten diese Ereignisse für die Dauer des wiederkehrenden wiederkehrenden Termins speichern.

      Für stornierte Ausnahmen werden mit Sicherheit 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 Termine dar. Kunden sollten ihre lokal synchronisierten Kopien entfernen. Solche Termine werden demnächst nicht mehr verfügbar sein. Verlassen Sie sich also nicht darauf, dass sie auf unbestimmte Zeit verfügbar sind.

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

    Abgesagte Termine im Kalender des Organisators enthalten weiterhin Termindetails (Zusammenfassung, Ort usw.), damit sie wiederhergestellt werden können. Auch Ereignisse, zu denen der Nutzer eingeladen wurde und die er manuell entfernt hat, enthalten weitere Informationen. Bei inkrementellen Synchronisierungsanfragen, bei denen showDeleted auf „false“ gesetzt ist, werden diese Details jedoch nicht zurückgegeben.

    Wenn ein Organisator den Termin ändert (z. B. durch den Vorgang move) und der ursprüngliche Organisator nicht auf der Teilnehmerliste steht, bleibt ein Termin abgesagt, bei dem nur das Feld id ausgefüllt ist.

Bearbeitbar
summary string Titel der Veranstaltung. Bearbeitbar
transparency string Gibt an, ob der Termin die Zeit im Kalender blockiert. Optional. Mögliche Werte sind:
  • opaque“ – Standardwert. Der Termin wird jedoch nicht im Kalender gespeichert. Das entspricht der Einstellung Anzeigen als auf Beschäftigt in der Google Kalender-Benutzeroberfläche.
  • transparent“: Der Termin wird nicht in den Kalender eingetragen. Dies entspricht der Einstellung Anzeigen als in der Google Kalender-Benutzeroberfläche auf Verfügbar.
Bearbeitbar
visibility string Sichtbarkeit des Termins Optional. Mögliche Werte sind:
  • 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“ – Der Termin ist privat und nur die Teilnehmer können die Termindetails sehen.
  • confidential“ – Der Termin ist privat. Dieser Wert wird aus Kompatibilitätsgründen angegeben.
Bearbeitbar
workingLocationProperties nested object Daten zu Arbeitsortereignissen. Bearbeitbar
workingLocationProperties.customLocation object Falls vorhanden, gibt dieser Wert 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 zu Hause arbeitet. Bearbeitbar
workingLocationProperties.officeLocation object Falls vorhanden, wird angegeben, dass der Nutzer von einem Büro aus arbeitet. Bearbeitbar
workingLocationProperties.officeLocation.buildingId string Eine optionale Gebäude-ID. Dies 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 für den Mindestbetrag. Bearbeitbar
workingLocationProperties.officeLocation.floorSectionId string Eine optionale Kennung für den Bodenabschnitt. Bearbeitbar
workingLocationProperties.officeLocation.label string Der Name des Büros, der in Google Kalender-Web- und mobilen Clients angezeigt wird. Wir empfehlen, in der Ressourcendatenbank der Organisation auf einen Gebäudenamen zu verweisen. Bearbeitbar
workingLocationProperties.type string Typ des Arbeitsortes. Mögliche Werte sind:
  • homeOffice“: Der Nutzer arbeitet zu Hause.
  • officeLocation“: Der Nutzer arbeitet in einem Büro.
  • customLocation“: Der Nutzer arbeitet an einem benutzerdefinierten Standort.
. Details werden in einem untergeordneten Feld des angegebenen Namens angegeben. Es kann jedoch fehlen, wenn es leer ist. Alle anderen Felder werden ignoriert.

Erforderlich, wenn Eigenschaften für 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("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

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': '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.