Events: insert

Tworzy wydarzenie. Wypróbuj teraz lub zobacz przykład.

Żądanie

Żądanie HTTP

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

Parametry

Nazwa parametru Wartość Opis
Parametry ścieżki
calendarId string Identyfikator kalendarza. Aby pobrać identyfikatory kalendarzy, wywołaj metodę calendarList.list. Jeśli chcesz uzyskać dostęp do kalendarza głównego obecnie zalogowanego użytkownika, użyj słowa kluczowego „primary”.
Opcjonalne parametry zapytania
conferenceDataVersion integer Numer wersji danych wideo obsługiwanych przez klienta API. Wersja 0 zakłada, że nie będzie obsługiwać danych rozmów wideo, i ignoruje dane konferencyjne w treści wydarzenia. Wersja 1 umożliwia kopiowanie danych ConferenceData oraz tworzenie nowych rozmów wideo w polu createRequest (dane w funkcji DataConference). Wartość domyślna to 0. Akceptowane wartości to 01 (włącznie).
maxAttendees integer Maksymalna liczba uczestników uwzględnionych w odpowiedzi. Jeśli uczestników jest więcej niż określona, zwracany jest tylko uczestnik. Opcjonalne.
sendNotifications boolean Rola wycofana. Zamiast niego użyj zdarzenia sendUpdates.

Określ, czy chcesz wysyłać powiadomienia o utworzeniu nowego zdarzenia. Pamiętaj, że niektóre e-maile mogą być wysyłane nawet wtedy, gdy ustawisz wartość false. Wartość domyślna to false.
sendUpdates string Wysyłać powiadomienia o utworzeniu nowego zdarzenia. Pamiętaj, że niektóre e-maile mogą być nadal wysyłane. Wartość domyślna to false.

Akceptowane wartości:
  • all”: powiadomienia są wysyłane do wszystkich gości.
  • externalOnly”: powiadomienia są wysyłane tylko do gości, którzy nie korzystają z Kalendarza Google.
  • none”: nie wysłano żadnych powiadomień.
supportsAttachments boolean Określa, czy operacja klienta API obsługuje załączniki zdarzeń. Opcjonalne. Wartość domyślna to Fałsz.

Upoważnienie

To żądanie wymaga autoryzacji z co najmniej jednym z tych zakresów:

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

Więcej informacji znajdziesz na stronie uwierzytelniania i autoryzacji.

Treść żądania

W treści żądania dodaj zasób zdarzeń o tych właściwościach:

Nazwa właściwości Wartość Opis Uwagi
Wymagane właściwości
end nested object Godzina zakończenia wydarzenia (wyłącznie). W przypadku wydarzenia cyklicznego jest to godzina zakończenia pierwszego wystąpienia.
start nested object Godzina rozpoczęcia wydarzenia (włącznie). W przypadku wydarzenia cyklicznego jest to godzina rozpoczęcia pierwszego wystąpienia.
Właściwości opcjonalne
anyoneCanAddSelf boolean Określa, czy każdy może zapraszać do udziału w wydarzeniu (wycofany). Opcjonalne. Wartość domyślna to Fałsz. zapisywalny
attachments[].fileUrl string Adres URL załącznika.

Dodaj pliki z Dysku Google, używając tego samego formatu co we właściwości alternateLink zasobu Files w interfejsie Drive API.

Wymagane podczas dodawania załącznika.

zapisywalny
attendees[] list Uczestnicy wydarzenia. Przeczytaj przewodnik Wydarzenia z uczestnikami, aby dowiedzieć się więcej o planowaniu wydarzeń z innymi użytkownikami kalendarza. Aby wypełnić listę uczestników, konta usługi muszą korzystać z przekazywania uprawnień w całej domenie. zapisywalny
attendees[].additionalGuests integer Liczba dodatkowych gości. Opcjonalne. Wartość domyślna to 0. zapisywalny
attendees[].comment string Komentarz do odpowiedzi uczestnika. Opcjonalne. zapisywalny
attendees[].displayName string Imię i nazwisko uczestnika (jeśli jest dostępne). Opcjonalne. zapisywalny
attendees[].email string Adres e-mail uczestnika (jeśli jest dostępny). To pole musi być widoczne podczas dodawania uczestnika. Podaj prawidłowy adres e-mail zgodnie z normą RFC5322.

Wymagane przy dodawaniu uczestnika.

zapisywalny
attendees[].optional boolean Określa, czy jest to uczestnik opcjonalny. Opcjonalne. Wartość domyślna to Fałsz. zapisywalny
attendees[].resource boolean Określa, czy uczestnik jest zasobem. Można ją ustawić tylko wtedy, gdy uczestnik zostanie dodany do wydarzenia po raz pierwszy. Kolejne zmiany są ignorowane. Opcjonalne. Wartość domyślna to Fałsz. zapisywalny
attendees[].responseStatus string Stan odpowiedzi uczestnika. Możliwe wartości:
  • needsAction” – uczestnik nie odpowiedział na zaproszenie (zalecane w przypadku nowych wydarzeń).
  • declined” – uczestnik odrzucił zaproszenie.
  • tentative” – osoba wstępna zaakceptowała zaproszenie.
  • accepted” – uczestnik zaakceptował zaproszenie.
zapisywalny
colorId string Kolor wydarzenia. Jest to identyfikator odnoszący się do wpisu w sekcji event definicji kolorów (patrz punkt końcowy kolorów). Opcjonalne. zapisywalny
conferenceData nested object informacje związane z konferencją, na przykład szczegóły konferencji w Google Meet; Aby utworzyć nowe szczegóły rozmowy wideo, użyj pola createRequest. Aby zachować zmiany, ustaw dla wszystkich żądań modyfikacji zdarzeń parametr conferenceDataVersion na 1. zapisywalny
description string Opis wydarzenia. Może zawierać kod HTML. Opcjonalne. zapisywalny
end.date date Data w formacie „rrrr-mm-dd”, jeśli jest to wydarzenie całodniowe. zapisywalny
end.dateTime datetime Godzina w postaci połączonej wartości daty i godziny (w formacie RFC3339). Wymagane jest przesunięcie strefy czasowej, chyba że w polu timeZone wyraźnie określono strefę czasową. zapisywalny
end.timeZone string Strefa czasowa określonej strefy czasowej. Sformatowana jako nazwa bazy danych stref czasowych IANA, np. „Europa/Zurych”. W przypadku wydarzeń cyklicznych to pole jest wymagane i określa strefę czasową, w której rozwija się powtarzanie. W przypadku pojedynczych wydarzeń to pole jest opcjonalne i wskazuje niestandardową strefę czasową rozpoczęcia/zakończenia wydarzenia. zapisywalny
extendedProperties.private object Właściwości prywatne dotyczące kopii wydarzenia wyświetlanego w tym kalendarzu. zapisywalny
extendedProperties.shared object Usługi współdzielone między kopiami wydarzenia w kalendarzach innych uczestników. zapisywalny
gadget.display string Tryb wyświetlania gadżetu. Rola wycofana. Możliwe wartości:
  • icon” – gadżet jest wyświetlany obok tytułu wydarzenia w widoku kalendarza.
  • chip” – gadżet jest wyświetlany po kliknięciu zdarzenia.
zapisywalny
gadget.height integer Wysokość gadżetu dla pikseli. Wysokość musi być liczbą całkowitą większą od 0. Opcjonalne. Rola wycofana. zapisywalny
gadget.preferences object Ustawienia. zapisywalny
gadget.title string Tytuł gadżetu. Rola wycofana. zapisywalny
gadget.type string Typ gadżetu. Rola wycofana. zapisywalny
gadget.width integer Szerokość gadżetu w pikselach. Szerokość musi być liczbą całkowitą większą niż 0. Opcjonalne. Rola wycofana. zapisywalny
guestsCanInviteOthers boolean Określa, czy uczestnicy mogą brać udział w wydarzeniu. Opcjonalne. Wartość domyślna to True. zapisywalny
guestsCanModify boolean Określa, czy uczestnicy mogą modyfikować wydarzenie inne niż organizator. Opcjonalne. Wartość domyślna to Fałsz. zapisywalny
guestsCanSeeOtherGuests boolean Określa, czy uczestnicy inni niż organizatorzy mogą zobaczyć listę uczestników wydarzenia. Opcjonalne. Wartość domyślna to True. zapisywalny
id string Nieprzezroczysty identyfikator zdarzenia. Tworząc nowe wydarzenia cykliczne lub pojedyncze, możesz określić ich identyfikatory. Podane identyfikatory muszą być zgodne z tymi regułami:
  • W identyfikatorze dozwolone są znaki używane w kodowaniu szesnastkowym base32, czyli małe litery a–v i cyfry 0–9. Więcej informacji znajdziesz w sekcji 3.1.2 w RFC2938
  • długość identyfikatora musi wynosić od 5 do 1024 znaków
  • identyfikator musi być unikalny dla każdego kalendarza
Ze względu na globalny charakter systemu nie możemy zagwarantować, że w momencie tworzenia zdarzenia pojawią się konflikty identyfikatorów. Aby zminimalizować ryzyko kolizji, zalecamy korzystanie z istniejącego algorytmu UUID, takiego jak opisany w RFC4122.

Jeśli nie określisz identyfikatora, zostanie on wygenerowany automatycznie przez serwer.

Pamiętaj, że icalUID i id nie są identyczne i tylko jeden z nich należy podać podczas tworzenia zdarzenia. Jedną z ich semantyk jest to, że w wydarzeniach cyklicznych wszystkie wystąpienia jednego wydarzenia mają różne id, ale wszystkie mają te same icalUID.

zapisywalny
location string Położenie geograficzne zdarzenia w dowolnym formacie tekstu. Opcjonalne. zapisywalny
originalStartTime.date date Data w formacie „rrrr-mm-dd”, jeśli jest to wydarzenie całodniowe. zapisywalny
originalStartTime.dateTime datetime Godzina w postaci połączonej wartości daty i godziny (w formacie RFC3339). Wymagane jest przesunięcie strefy czasowej, chyba że w polu timeZone wyraźnie określono strefę czasową. zapisywalny
originalStartTime.timeZone string Strefa czasowa określonej strefy czasowej. Sformatowana jako nazwa bazy danych stref czasowych IANA, np. „Europa/Zurych”. W przypadku wydarzeń cyklicznych to pole jest wymagane i określa strefę czasową, w której rozwija się powtarzanie. W przypadku pojedynczych wydarzeń to pole jest opcjonalne i wskazuje niestandardową strefę czasową rozpoczęcia/zakończenia wydarzenia. zapisywalny
recurrence[] list Lista wierszy RRULE, EXRULE, RDATE i EXDATE wydarzeń cyklicznych, jak określono w RFC5545. Pamiętaj, że wiersze DTSTART i DTEND w tym polu nie są dozwolone. Godziny rozpoczęcia i zakończenia wydarzenia są określone w polach start i end. To pole jest pomijane w przypadku pojedynczych wydarzeń lub wystąpień cyklicznych. zapisywalny
reminders.overrides[] list Jeśli wydarzenie nie korzysta z przypomnień domyślnych, wyświetlają się przypomnienia dotyczące tego wydarzenia. Jeśli nie są ustawione, oznacza to, że dla tego wydarzenia nie są ustawione żadne przypomnienia. Maksymalna liczba przypomnień o zastąpieniu to 5. zapisywalny
reminders.overrides[].method string Metoda używana przez to przypomnienie. Możliwe wartości:
  • email” – przypomnienia są wysyłane e-mailem.
  • popup” – przypomnienia są wysyłane w wyskakującym okienku interfejsu.

Wymagane podczas dodawania przypomnienia.

zapisywalny
reminders.overrides[].minutes integer Liczba minut przed rozpoczęciem wydarzenia, w którym powinno się włączyć przypomnienie. Prawidłowe wartości to 0 – 40320 (4 tygodnie w minutach).

Wymagane podczas dodawania przypomnienia.

zapisywalny
reminders.useDefault boolean Określa, czy domyślne przypomnienia kalendarza mają zastosowanie do wydarzenia. zapisywalny
sequence integer Numer sekwencyjny według iCalendar. zapisywalny
source.title string Tytuł źródła, np. tytuł strony internetowej lub tematu e-maila. zapisywalny
source.url string Adres URL źródła wskazującego zasób. Schemat adresu URL musi zawierać protokół HTTP lub HTTPS. zapisywalny
start.date date Data w formacie „rrrr-mm-dd”, jeśli jest to wydarzenie całodniowe. zapisywalny
start.dateTime datetime Godzina w postaci połączonej wartości daty i godziny (w formacie RFC3339). Wymagane jest przesunięcie strefy czasowej, chyba że w polu timeZone wyraźnie określono strefę czasową. zapisywalny
start.timeZone string Strefa czasowa określonej strefy czasowej. Sformatowana jako nazwa bazy danych stref czasowych IANA, np. „Europa/Zurych”. W przypadku wydarzeń cyklicznych to pole jest wymagane i określa strefę czasową, w której rozwija się powtarzanie. W przypadku pojedynczych wydarzeń to pole jest opcjonalne i wskazuje niestandardową strefę czasową rozpoczęcia/zakończenia wydarzenia. zapisywalny
status string Stan wydarzenia. Opcjonalne. Możliwe wartości:
  • confirmed” – wydarzenie zostało potwierdzone. Jest to stan domyślny.
  • tentative” – wstępne wydarzenie zostało potwierdzone.
  • cancelled” – wydarzenie zostało anulowane (usunięte). Metoda list zwraca anulowane zdarzenia tylko podczas przyrostowej synchronizacji (gdy syncToken lub updatedMin) jest określona, lub jeśli flaga showDeleted jest ustawiona na true. Metoda get zawsze je zwraca.

    Stan „Anulowano” wskazuje dwa różne stany w zależności od typu zdarzenia:

    1. Anulowane wyjątki nieodwołanego wydarzenia cyklicznego wskazują, że ta instancja nie powinna być już widoczna dla użytkownika. Klienci powinni przechowywać te zdarzenia w czasie trwania nadrzędnego wydarzenia cyklicznego.

      Anulowane wyjątki mają wartości tylko w polach id, recurringEventId i originalStartTime. Pozostałe pola mogą być puste.

    2. Wszystkie inne anulowane wydarzenia odpowiadają usuniętym. Klienci powinni usunąć kopie zsynchronizowane lokalnie. Takie anulowane wydarzenia z czasem znikną, więc nie oczekuj, że będą dostępne bezterminowo.

      Usunięte wydarzenia mogą mieć tylko pole id.

    W kalendarzu organizatora anulowane wydarzenia nadal są ujawniane szczegóły wydarzenia (podsumowanie, lokalizacja itp.), dzięki czemu można je przywrócić. Analogicznie zdarzenia, na które użytkownik został zaproszony i które zostały ręcznie usunięte, nadal zawierają szczegóły. Jednak przyrostowe żądania synchronizacji z ustawieniem showDeleted ustawionym na fałsz nie spowodują wyświetlenia tych szczegółów.

    Jeśli organizator zmieni swojego organizatora (na przykład w wyniku wykonania operacji move), a pierwotny organizator nie znajduje się na liście uczestników, pozostanie w nim anulowane wydarzenie, w którym gwarantowane jest wypełnienie tylko pola id.

zapisywalny
summary string Nazwa wydarzenia, zapisywalny
transparency string Określa, czy wydarzenie blokuje czas w kalendarzu. Opcjonalne. Możliwe wartości:
  • opaque” – wartość domyślna. To wydarzenie blokuje czas w kalendarzu. Odpowiada to ustawieniu Pokaż mój stan jako na Zajęty w interfejsie Kalendarza.
  • transparent” – wydarzenie nie blokuje czasu w kalendarzu. Odpowiada to ustawieniu Pokaż mi jako na wartość Dostępna w interfejsie Kalendarza.
zapisywalny
visibility string Widoczność wydarzenia. Opcjonalne. Możliwe wartości:
  • default” – stosuje domyślną widoczność wydarzeń w kalendarzu. jest to wartość domyślna
  • public” – wydarzenie jest publiczne, a jego szczegóły są widoczne dla wszystkich czytelników kalendarza.
  • private” – wydarzenie jest prywatne i tylko jego uczestnicy mogą wyświetlać szczegóły wydarzenia.
  • confidential” – jest prywatne. Ta wartość jest podana ze względu na zgodność.
zapisywalny

Odpowiedź

Jeśli operacja się uda, metoda zwróci zasób zdarzeń w treści odpowiedzi.

Przykłady

Uwaga: dostępne dla tej metody przykłady kodu nie odzwierciedlają wszystkich obsługiwanych języków programowania. Listę obsługiwanych języków znajdziesz na stronie z bibliotekami klienta.

Java

Używa biblioteki klienta w języku Java.

// 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

Używa biblioteki klienta dla języka Python.

# 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

Używa biblioteki klienta PHP.

// 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

Używa biblioteki klienta Ruby.

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

Używa biblioteki klienta .NET.

// 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);

Go

Używa biblioteki klienta Go.

// 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

Używa biblioteki klienta JavaScript.

// 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

Używa biblioteki klienta Node.js.

// 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);
});

Wypróbuj

Skorzystaj z eksploratora interfejsów API poniżej, aby wywołać tę metodę w aktywnych danych i zobaczyć odpowiedź.