Events: update

Aktualizuje wydarzenie. Ta metoda nie obsługuje semantyki poprawki i zawsze aktualizuje cały zasób zdarzenia. Aby przeprowadzić częściową aktualizację, wykonaj get, a następnie update, używając tagów w celu zapewnienia niepokoju. Wypróbuj lub zobacz przykład.

Prośba

Żądanie HTTP

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

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 aktualnie zalogowanego użytkownika, użyj słowa kluczowego „primary”.
eventId string Identyfikator zdarzenia.
Opcjonalne parametry zapytania
alwaysIncludeEmail boolean Wycofano i ignorowano. W polu email organizatora, twórca i uczestnicy zawsze zwracana jest wartość, nawet jeśli nie będzie dostępny żaden prawdziwy adres e-mail (tzn. zostanie podany wygenerowany, niedziałający adres).
conferenceDataVersion integer Numer wersji danych konferencji obsługiwanych przez klienta interfejsu API. W wersji 0 założono brak obsługi danych i ignoruje takie dane w treści wydarzenia. Wersja 1 umożliwia obsługę kopiowania danych ConferenceData, a także umożliwia tworzenie nowych rozmów wideo przy użyciu pola createRequest pola konferencjiData. Wartość domyślna to 0. Akceptowane wartości to od 0 do 1 (włącznie).
maxAttendees integer Maksymalna liczba uczestników, których można uwzględnić w odpowiedzi. Jeśli liczba uczestników jest większa niż określona, zwracany jest tylko uczestnik. Opcjonalnie.
sendNotifications boolean Rola wycofana. Użyj funkcji sendUpdates.

Czy chcesz wysyłać powiadomienia o aktualizacji wydarzenia (np. o zmianach opisu). Pamiętaj, że niektóre e-maile mogą być nadal wysyłane, nawet jeśli ustawisz wartość false. Wartość domyślna to false.
sendUpdates string Goście, którzy powinni otrzymywać powiadomienia o aktualizacji wydarzenia (na przykład o zmianie nazwy itp.).

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 są wysyłane żadne powiadomienia. W przypadku zadań migracji kalendarzy rozważ użycie metody Events.import.
supportsAttachments boolean Określa, czy klient interfejsu API wykonujący operację obsługuje załączniki do wydarzeń. Opcjonalnie. Wartością domyślną jest False (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 podaj zasób zdarzeń z tymi właściwościami:

nazwa usługi, Wartość Opis Uwagi
Właściwości wymagane
end nested object Czas zakończenia wydarzenia (wyłącznie). W przypadku wydarzenia cyklicznego jest to czas zakończenia pierwszego wystąpienia.
start nested object Godzina rozpoczęcia (włącznie z tym dniem) wydarzenia. 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 zaprosić siebie na wydarzenie (funkcja wycofana). Opcjonalnie. Wartością domyślną jest False (Fałsz). z możliwością zapisu
attachments[].fileUrl string Adres URL załącznika.

Przy dodawaniu załączników z Dysku Google używaj tego samego formatu co we właściwości alternateLink zasobu Files w interfejsie Drive API.

Wymagane podczas dodawania załącznika.

z możliwością zapisu
attendees[] list Uczestnicy wydarzenia. Więcej informacji o planowaniu wydarzeń z innymi użytkownikami kalendarza znajdziesz w przewodniku Wydarzenia z uczestnikami. Aby wypełnić listę uczestników, konta usługi muszą korzystać z przekazywania uprawnień w całej domenie. z możliwością zapisu
attendees[].additionalGuests integer Liczba dodatkowych gości. Opcjonalnie. Wartość domyślna to 0. z możliwością zapisu
attendees[].comment string Komentarz uczestnika. Opcjonalnie. z możliwością zapisu
attendees[].displayName string Imię i nazwisko uczestnika, jeśli są dostępne. Opcjonalnie. z możliwością zapisu
attendees[].email string Adres e-mail uczestnika, jeśli jest dostępny. To pole musi być obecne podczas dodawania uczestnika. Musi to być prawidłowy adres e-mail zgodny ze standardem RFC5322.

Wymagane podczas dodawania uczestnika.

z możliwością zapisu
attendees[].optional boolean Określa, czy jest to opcjonalny uczestnik. Opcjonalnie. Wartością domyślną jest False (Fałsz). z możliwością zapisu
attendees[].resource boolean Określa, czy uczestnik jest zasobem. To ustawienie można skonfigurować tylko wtedy, gdy uczestnik jest dodawany do wydarzenia po raz pierwszy. Kolejne modyfikacje są ignorowane. Opcjonalnie. Wartością domyślną jest False (Fałsz). z możliwością zapisu
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” – uczestnik wstępnie zaakceptował zaproszenie.
  • accepted” – uczestnik zaakceptował zaproszenie.
z możliwością zapisu
attendeesOmitted boolean Określa, czy uczestnicy mogli zostać pominięci w reprezentacji wydarzenia. Podczas pobierania zdarzenia może to być spowodowane ograniczeniem określonym przez parametr zapytania maxAttendee. Podczas aktualizowania wydarzenia te opcje mogą być używane tylko do aktualizowania odpowiedzi uczestnika. Opcjonalnie. Wartością domyślną jest False (Fałsz). z możliwością zapisu
colorId string Kolor wydarzenia. Jest to identyfikator odnoszący się do wpisu w sekcji event definicji kolorów (patrz punkt końcowy kolorów). Opcjonalnie. z możliwością zapisu
conferenceData nested object Informacje związane z rozmową wideo, np. szczegóły rozmowy wideo w Google Meet. Aby utworzyć nowe szczegóły rozmowy wideo, użyj pola createRequest. Aby zachować zmiany, ustaw parametr żądania conferenceDataVersion na 1 w przypadku wszystkich żądań modyfikacji zdarzeń. z możliwością zapisu
description string Opis wydarzenia. Może zawierać kod HTML. Opcjonalnie. z możliwością zapisu
end.date date Data w formacie „rrrr-mm-dd”, jeśli jest to wydarzenie całodniowe. z możliwością zapisu
end.dateTime datetime Czas jako łączna wartość daty i godziny (sformatowana zgodnie z RFC3339). Przesunięcie strefy czasowej jest wymagane, chyba że wyraźnie określisz strefę czasową w timeZone. z możliwością zapisu
end.timeZone string Strefa czasowa, w której jest określona godzina. (sformatowana jako nazwa bazy danych strefy czasowej IANA, np. „Europa/Zurych”). W przypadku wydarzeń cyklicznych to pole jest wymagane i określa strefę czasową, do której powtarzanie jest rozszerzane. W przypadku pojedynczych wydarzeń to pole jest opcjonalne i wskazuje niestandardową strefę czasową rozpoczęcia/zakończenia wydarzenia. z możliwością zapisu
extendedProperties.private object Właściwości, które są prywatne dla kopii wydarzenia widocznego w tym kalendarzu. z możliwością zapisu
extendedProperties.shared object Właściwości współdzielone między kopiami wydarzenia w kalendarzach innych uczestników. z możliwością zapisu
focusTimeProperties nested object Dane zdarzenia typu czas skupienia. Używana, jeśli eventType ma wartość focusTime. z możliwością zapisu
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 wyświetla się po kliknięciu wydarzenia.
z możliwością zapisu
gadget.height integer Wysokość gadżetów w pikselach. Wysokość musi być liczbą całkowitą większą od 0. Opcjonalnie. Rola wycofana. z możliwością zapisu
gadget.preferences object Ustawienia. z możliwością zapisu
gadget.title string Tytuł gadżetów. Rola wycofana. z możliwością zapisu
gadget.type string Typ gadżetów. Rola wycofana. z możliwością zapisu
gadget.width integer Szerokość gadżetów w pikselach. Szerokość musi być liczbą całkowitą większą od 0. Opcjonalnie. Rola wycofana. z możliwością zapisu
guestsCanInviteOthers boolean Określa, czy uczestnicy inni niż organizator mogą zapraszać na wydarzenie innych. Opcjonalnie. Wartość domyślna to True. z możliwością zapisu
guestsCanModify boolean Określa, czy uczestnicy inni niż organizator mogą modyfikować wydarzenie. Opcjonalnie. Wartością domyślną jest False (Fałsz). z możliwością zapisu
guestsCanSeeOtherGuests boolean Określa, czy uczestnicy inni niż organizator mogą zobaczyć, kim są uczestnicy wydarzenia. Opcjonalnie. Wartość domyślna to True. z możliwością zapisu
location string Położenie geograficzne wydarzenia w formie dowolnego tekstu. Opcjonalnie. z możliwością zapisu
originalStartTime.date date Data w formacie „rrrr-mm-dd”, jeśli jest to wydarzenie całodniowe. z możliwością zapisu
originalStartTime.dateTime datetime Czas jako łączna wartość daty i godziny (sformatowana zgodnie z RFC3339). Przesunięcie strefy czasowej jest wymagane, chyba że wyraźnie określisz strefę czasową w timeZone. z możliwością zapisu
originalStartTime.timeZone string Strefa czasowa, w której jest określona godzina. (sformatowana jako nazwa bazy danych strefy czasowej IANA, np. „Europa/Zurych”). W przypadku wydarzeń cyklicznych to pole jest wymagane i określa strefę czasową, do której powtarzanie jest rozszerzane. W przypadku pojedynczych wydarzeń to pole jest opcjonalne i wskazuje niestandardową strefę czasową rozpoczęcia/zakończenia wydarzenia. z możliwością zapisu
outOfOfficeProperties nested object Dane o zdarzeniach Poza biurem. Używana, jeśli eventType ma wartość outOfOffice. z możliwością zapisu
recurrence[] list Lista wierszy RRULE, EXRULE, RDATE i EXDATE dla wydarzenia cyklicznego zgodnie z opisem w RFC5545. Pamiętaj, że wiersze DTSTART i DTEND nie są dozwolone w tym polu. Czasy rozpoczęcia i zakończenia zdarzenia są podane w polach start i end. To pole jest pomijane w przypadku pojedynczych wydarzeń lub wystąpień wydarzeń cyklicznych. z możliwością zapisu
reminders.overrides[] list Jeśli wydarzenie nie korzysta z przypomnień domyślnych, wyświetla się lista przypomnień związanych z tym wydarzeniem lub, jeśli nie jest skonfigurowana, oznacza, że dla tego wydarzenia nie ustawiono przypomnień. Maksymalna liczba przypomnień o zastąpieniu wynosi 5. z możliwością zapisu
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 w interfejsie.

Wymagane podczas dodawania przypomnienia.

z możliwością zapisu
reminders.overrides[].minutes integer Liczba minut przed rozpoczęciem wydarzenia, na którą powinno zostać aktywowane przypomnienie. Prawidłowe wartości mieszczą się w zakresie od 0 do 40320 (4 tygodnie w minutach).

Wymagane podczas dodawania przypomnienia.

z możliwością zapisu
reminders.useDefault boolean Określa, czy do wydarzenia mają zastosowanie domyślne przypomnienia kalendarza. z możliwością zapisu
sequence integer Numer sekwencyjny zgodny z iCalendar. z możliwością zapisu
source.title string Tytuł źródła, na przykład tytuł strony internetowej lub temat e-maila. z możliwością zapisu
source.url string Adres URL źródła wskazującego zasób. Schematem adresu URL musi być HTTP lub HTTPS. z możliwością zapisu
start.date date Data w formacie „rrrr-mm-dd”, jeśli jest to wydarzenie całodniowe. z możliwością zapisu
start.dateTime datetime Czas jako łączna wartość daty i godziny (sformatowana zgodnie z RFC3339). Przesunięcie strefy czasowej jest wymagane, chyba że wyraźnie określisz strefę czasową w timeZone. z możliwością zapisu
start.timeZone string Strefa czasowa, w której jest określona godzina. (sformatowana jako nazwa bazy danych strefy czasowej IANA, np. „Europa/Zurych”). W przypadku wydarzeń cyklicznych to pole jest wymagane i określa strefę czasową, do której powtarzanie jest rozszerzane. W przypadku pojedynczych wydarzeń to pole jest opcjonalne i wskazuje niestandardową strefę czasową rozpoczęcia/zakończenia wydarzenia. z możliwością zapisu
status string Stan wydarzenia. Opcjonalnie. Możliwe wartości:
  • confirmed” – wydarzenie zostało potwierdzone. Jest to stan domyślny.
  • tentative” – wydarzenie zostało wstępnie potwierdzone.
  • cancelled” – wydarzenie zostało anulowane (usunięte). Metoda list zwraca anulowane zdarzenia tylko podczas synchronizacji przyrostowej (gdy określono syncToken lub updatedMin) lub jeśli flaga showDeleted jest ustawiona na true. Metoda get zawsze je zwraca.

    W zależności od typu wydarzenia stan „Anulowano” ma 2 stany:

    1. Anulowane wyjątki dotyczące nieanulowanego wydarzenia cyklicznego oznaczają, że to wystąpienie nie powinno już być prezentowane użytkownikowi. Klienci powinni przechowywać te zdarzenia przez cały okres trwania nadrzędnego zdarzenia cyklicznego.

      Anulowane wyjątki muszą mieć wypełnione wartości w polach id, recurringEventId i originalStartTime. Inne pola mogą być puste.

    2. Wszystkie pozostałe anulowane wydarzenia odnoszą się do usuniętych wydarzeń. Klient powinien usunąć swoje kopie synchronizowane lokalnie. Takie anulowane wydarzenia po pewnym czasie znikną, więc nie czekaj, aż będą dostępne przez cały czas.

      Tylko usunięte wydarzenia będą mieć wypełnione pole id.

    W kalendarzu organizatora anulowane wydarzenia nadal udostępniają szczegóły wydarzenia (podsumowanie, lokalizację itp.), aby można je było przywrócić (cofnąć usunięcie). Szczegóły są też dostępne w przypadku wydarzeń, na które użytkownik został zaproszony i który został usunięty ręcznie. Przyrostowe żądania synchronizacji z ustawieniem showDeleted jako false (fałsz) nie zwrócą jednak tych informacji.

    Jeśli wydarzenie zmieni organizatora (na przykład przez operację przenoszenia), a oryginalnego organizatora nie będzie na liście uczestników, pozostanie anulowane wydarzenie, w którym zagwarantowane będzie tylko pole id.

z możliwością zapisu
summary string Nazwa wydarzenia, z możliwością zapisu
transparency string Określa, czy wydarzenie blokuje czas w kalendarzu. Opcjonalnie. Możliwe wartości:
  • opaque” – wartość domyślna. Wydarzenie zablokuje czas w kalendarzu. Jest to odpowiednik ustawienia Pokaż mój stan jako na Zajęty w interfejsie Kalendarza.
  • transparent” – wydarzenie nie blokuje czasu w kalendarzu. Jest to odpowiednik ustawienia Pokaż mój stan jako na Dostępny w interfejsie Kalendarza.
z możliwością zapisu
visibility string Widoczność wydarzenia. Opcjonalnie. Możliwe wartości:
  • default” – używa domyślnej widoczności wydarzeń w kalendarzu. jest to wartość domyślna
  • public” – wydarzenie jest publiczne, a szczegóły wydarzenia są widoczne dla wszystkich czytelników kalendarza.
  • private” – wydarzenie jest prywatne i tylko uczestnicy mogą wyświetlać jego szczegóły.
  • confidential” – wydarzenie jest prywatne. Ta wartość jest podawana ze względu na zgodność.
z możliwością zapisu
workingLocationProperties nested object Dane zdarzenia w lokalizacji miejsca pracy. z możliwością zapisu
workingLocationProperties.customLocation object Jeśli ten parametr występuje, wskazuje, że użytkownik pracuje w lokalizacji niestandardowej. z możliwością zapisu
workingLocationProperties.customLocation.label string Opcjonalna dodatkowa etykieta informująca o dodatkowych informacjach. z możliwością zapisu
workingLocationProperties.homeOffice any value Jeśli ten parametr jest obecny, określa, że użytkownik pracuje w domu. z możliwością zapisu
workingLocationProperties.officeLocation object Jeśli ten atrybut jest obecny, określa, że użytkownik pracuje w biurze. z możliwością zapisu
workingLocationProperties.officeLocation.buildingId string Opcjonalny identyfikator budynku. Powinien on odnosić się do identyfikatora budynku w bazie danych zasobów organizacji. z możliwością zapisu
workingLocationProperties.officeLocation.deskId string Opcjonalny identyfikator biurka. z możliwością zapisu
workingLocationProperties.officeLocation.floorId string Opcjonalny identyfikator piętra. z możliwością zapisu
workingLocationProperties.officeLocation.floorSectionId string Opcjonalny identyfikator sekcji piętra. z możliwością zapisu
workingLocationProperties.officeLocation.label string Nazwa biura wyświetlana w klientach w przeglądarce internetowej i na urządzeniach mobilnych. Zalecamy podanie nazwy budynku w bazie danych zasobów organizacji. z możliwością zapisu
workingLocationProperties.type string Typ lokalizacji miejsca pracy. Możliwe wartości:
  • homeOffice” – użytkownik pracuje w domu.
  • officeLocation” – użytkownik pracuje w biurze.
  • customLocation” – użytkownik pracuje w lokalizacji niestandardowej.
W polu podrzędnym o określonej nazwie znajdują się wszystkie szczegóły, ale tego pola może brakować, jeśli jest puste. Pozostałe pola są ignorowane.

Wymagane przy dodawaniu właściwości lokalizacji miejsca pracy.

z możliwością zapisu

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

Korzysta z biblioteki klienta Java.

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.Event;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Retrieve the event from the API
Event event = service.events().get("primary", "eventId").execute();

// Make a change
event.setSummary("Appointment at Somewhere");

// Update the event
Event updatedEvent = service.events().update("primary", event.getId(), event).execute();

System.out.println(updatedEvent.getUpdated());

Python

Używa biblioteki klienta dla języka Python.

# First retrieve the event from the API.
event = service.events().get(calendarId='primary', eventId='eventId').execute()

event['summary'] = 'Appointment at Somewhere'

updated_event = service.events().update(calendarId='primary', eventId=event['id'], body=event).execute()

# Print the updated date.
print updated_event['updated']

PHP

Korzysta z biblioteki klienta PHP.

// First retrieve the event from the API.
$event = $service->events->get('primary', 'eventId');

$event->setSummary('Appointment at Somewhere');

$updatedEvent = $service->events->update('primary', $event->getId(), $event);

// Print the updated date.
echo $updatedEvent->getUpdated();

Ruby

Używa biblioteki klienta Ruby.

event = client.get_event('primary', 'eventId')
event.summary = 'Appointment at Somewhere'
result = client.update_event('primary', event.id, event)
print result.updated

Wypróbuj

Użyj Eksploratora interfejsów API poniżej, aby wywołać tę metodę na aktywnych danych i zobaczyć odpowiedź.