Erstellt einen Termin. Jetzt testen oder Beispiel ansehen
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 Suchparameter | ||
conferenceDataVersion |
integer |
Versionsnummer der vom API-Client unterstützten Konferenzdaten In Version 0 wird davon ausgegangen, dass keine Konferenzdaten unterstützt werden. Daher werden die Konferenzdaten im Text der Veranstaltung ignoriert. Version 1 unterstützt das Kopieren von ConferenceData-Daten sowie das Erstellen neuer Konferenzen mit dem Feld „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 auch dann gesendet werden können, wenn Sie den Wert auf false setzen. Der Standardwert ist false .
|
sendUpdates |
string |
Gibt an, ob Benachrichtigungen über die Erstellung des neuen Termins gesendet werden sollen. Einige E-Mails werden möglicherweise noch gesendet. Der Standardwert ist false .
Folgende Werte sind zulässig:
|
supportsAttachments |
boolean |
Gibt an, ob der API-Client, der Vorgänge 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:
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 Anforderungstext eine Ereignisressource mit den folgenden Attributen an:
Attributname | Wert | Beschreibung | Hinweise |
---|---|---|---|
Erforderliche Properties | |||
end |
nested object |
Das Ende der Veranstaltung (exklusiv). Bei einem wiederkehrenden Termin ist dies die Endzeit der ersten Instanz. | |
start |
nested object |
Die Startzeit der Veranstaltung (inklusive). Bei einem wiederkehrenden Termin ist das die Startzeit der ersten Instanz. | |
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. Wenn Sie Google Drive-Dateianhänge hinzufügen möchten, verwenden Sie in der Drive API das Format der Property Erforderlich, wenn Sie einen Anhang hinzufügen. |
Bearbeitbar |
attendees[] |
list |
Die Teilnehmer des Termins. Weitere Informationen zum Planen von Terminen mit anderen Kalendernutzern finden Sie im Leitfaden Termine mit Teilnehmern. Dienstkonten müssen die domainweite Delegierung von Befugnissen nutzen, um die Teilnehmerliste zu befüllen. | Bearbeitbar |
attendees[].additionalGuests |
integer |
Anzahl der zusätzlichen Gäste. Optional. Der Standardwert ist 0. | Bearbeitbar |
attendees[].comment |
string |
Der 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 Teilnehmer hinzugefügt wird. Es muss sich um eine gültige E-Mail-Adresse gemäß RFC5322 handeln. Erforderlich beim Hinzufügen eines Teilnehmers. |
Bearbeitbar |
attendees[].optional |
boolean |
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 Teilnehmer dem Termin zum ersten Mal hinzugefügt wird. Nachfolgende Änderungen werden ignoriert. Optional. Die Standardeinstellung ist "False". | Bearbeitbar |
attendees[].responseStatus |
string |
Der Antwortstatus der Teilnehmer. Mögliche Werte sind:
|
Bearbeitbar |
colorId |
string |
Die Farbe des Termins. Diese ID verweist auf einen Eintrag im Abschnitt event der Farbdefinition (siehe Farbendpunkt). Optional. |
Bearbeitbar |
conferenceData |
nested object |
Informationen zur Konferenz, z. B. die Details einer Google Meet-Videokonferenz 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 Datum/Uhrzeit-Wert (nach RFC3339 formatiert). Es ist ein Zeitzonenversatz erforderlich, sofern in timeZone nicht explizit eine Zeitzone angegeben ist. |
Bearbeitbar |
end.timeZone |
string |
Die Zeitzone, in der die Zeit angegeben ist. (Formatiert als Zeitzonenname für die IANA-Datenbank, z.B. „Europa/Zürich“). Bei wiederkehrenden Ereignissen ist dieses Feld erforderlich und gibt die Zeitzone an, in der der wiederkehrende Termin maximiert wird. Bei einzelnen Ereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für den Beginn und das Ende von Ereignissen an. | Bearbeitbar |
extendedProperties.private |
object |
Properties, die nur für die Kopie des Termins verfügbar sind, der in diesem Kalender angezeigt wird. | Bearbeitbar |
extendedProperties.shared |
object |
Eigenschaften, die zwischen Kopien des Termins in den Kalendern anderer Teilnehmer freigegeben sind. | Bearbeitbar |
gadget.display |
string |
Der Anzeigemodus des Gadgets. Veraltet. Mögliche Werte sind:
|
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.iconLink |
string |
Die Symbol-URL des Gadgets. Das URL-Schema muss HTTPS verwenden. Veraltet. | Bearbeitbar |
gadget.link |
string |
Die URL des Gadgets Das URL-Schema muss HTTPS verwenden. 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 Gäste außer dem Organisator andere Personen zu dem Termin einladen können. Optional. Der Standardwert ist „True“. | Bearbeitbar |
guestsCanModify |
boolean |
Gibt an, ob Teilnehmer außer dem Organisator den Termin bearbeiten dürfen. Optional. Die Standardeinstellung ist "False". | Bearbeitbar |
guestsCanSeeOtherGuests |
boolean |
Gibt an, ob Gäste außer dem Organisator sehen können, wer der Termin ist Optional. Der Standardwert ist „True“. | Bearbeitbar |
id |
string |
Undurchsichtige Kennung des Ereignisses. Beim Erstellen neuer einzelner oder wiederkehrender Termine können Sie deren IDs angeben. Bereitgestellte IDs müssen den folgenden Regeln entsprechen:
Wenn Sie keine ID angeben, wird sie automatisch vom Server generiert.
|
Bearbeitbar |
location |
string |
Der geografische Ort des Ereignisses in freiem Format. 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/Uhrzeit-Wert (nach RFC3339 formatiert). Es ist ein Zeitzonenversatz erforderlich, sofern in timeZone nicht explizit eine Zeitzone angegeben ist. |
Bearbeitbar |
originalStartTime.timeZone |
string |
Die Zeitzone, in der die Zeit angegeben ist. (Formatiert als Zeitzonenname für die IANA-Datenbank, z.B. „Europa/Zürich“). Bei wiederkehrenden Ereignissen ist dieses Feld erforderlich und gibt die Zeitzone an, in der der wiederkehrende Termin maximiert wird. Bei einzelnen Ereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für den Beginn und das Ende von Ereignissen an. | Bearbeitbar |
recurrence[] |
list |
Liste der Zeilen RRULE, EXRULE, RDATE und EXDATE für ein wiederkehrendes Ereignis, wie in RFC5545 angegeben. In diesem Feld sind keine DTSTART- und DTEND-Zeilen zulässig. Beginn und Ende des Ereignisses werden in den Feldern start und end angegeben. Dieses Feld wird bei einzelnen Terminen oder Instanzen wiederkehrender Termine weggelassen. |
Bearbeitbar |
reminders.overrides[] |
list |
Wenn für den Termin nicht die Standarderinnerungen verwendet werden, werden die spezifischen Erinnerungen für den Termin angezeigt. Ist er nicht festgelegt, wird für diesen Termin keine Erinnerung eingerichtet. Es sind maximal fünf Überschreibungserinnerungen möglich. | Bearbeitbar |
reminders.overrides[].method |
string |
Die von dieser Erinnerung verwendete Methode. Mögliche Werte sind:
Erforderlich beim Hinzufügen einer Erinnerung. |
Bearbeitbar |
reminders.overrides[].minutes |
integer |
Anzahl der Minuten vor dem Termin, an dem 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 des Kalenders für den Termin gelten. | Bearbeitbar |
sequence |
integer |
Sequenznummer gemäß iCalendar | Bearbeitbar |
source.title |
string |
Titel der Quelle, beispielsweise der Titel 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 Datum/Uhrzeit-Wert (nach RFC3339 formatiert). Es ist ein Zeitzonenversatz erforderlich, sofern in timeZone nicht explizit eine Zeitzone angegeben ist. |
Bearbeitbar |
start.timeZone |
string |
Die Zeitzone, in der die Zeit angegeben ist. (Formatiert als Zeitzonenname für die IANA-Datenbank, z.B. „Europa/Zürich“). Bei wiederkehrenden Ereignissen ist dieses Feld erforderlich und gibt die Zeitzone an, in der der wiederkehrende Termin maximiert wird. Bei einzelnen Ereignissen ist dieses Feld optional und gibt eine benutzerdefinierte Zeitzone für den Beginn und das Ende von Ereignissen an. | Bearbeitbar |
status |
string |
Status des Ereignisses. Optional. Mögliche Werte sind:
|
Bearbeitbar |
summary |
string |
Titel der Veranstaltung. | Bearbeitbar |
transparency |
string |
Gibt an, ob der Termin die Zeit im Kalender blockiert. Optional. Mögliche Werte sind:
|
Bearbeitbar |
visibility |
string |
Sichtbarkeit des Ereignisses. Optional. Mögliche Werte sind:
|
Bearbeitbar |
Antwort
Wenn der Vorgang erfolgreich ist, wird mit dieser Methode eine Ressource vom Typ „Ereignisse“ 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);
Einfach loslegen (Go)
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); });
Testen!
Verwenden Sie den unten angegebenen APIs Explorer, um diese Methode für Livedaten aufzurufen und die Antwort einzusehen.