Importuje wydarzenie. Ta operacja służy do dodawania do kalendarza prywatnej kopii istniejącego wydarzenia. Można importować tylko zdarzenia o wartości eventType
default
.
Wycofane działanie: jeśli importujesz zdarzenie inne niż default
, jego typ zostanie zmieniony na default
, a wszystkie właściwości specyficzne dla typu zdarzenia zostaną usunięte.
Żądanie
Żądanie HTTP
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events/import
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 głównego kalendarza aktualnie zalogowanego użytkownika, użyj słowa kluczowego „primary ”.
|
Parametry opcjonalne zapytania | ||
conferenceDataVersion |
integer |
Numer wersji danych konferencji obsługiwanych przez klienta interfejsu API. Wersja 0 zakłada brak obsługi danych konferencji i ignoruje dane konferencji w treści wydarzenia. Wersja 1 umożliwia kopiowanie danych konferencji oraz tworzenie nowych konferencji za pomocą pola createRequest w danych konferencji. Wartość domyślna to 0.
Akceptowane wartości to od 0 do 1 (włącznie).
|
supportsAttachments |
boolean |
Określa, czy klient interfejsu API wykonujący operację obsługuje załączniki zdarzeń. Opcjonalnie: Wartość domyślna to False (fałsz). |
Autoryzacja
Ta prośba wymaga autoryzacji z co najmniej jednym z tych zakresów:
Zakres |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events |
https://www.googleapis.com/auth/calendar.app.created |
https://www.googleapis.com/auth/calendar.events.owned |
Więcej informacji znajdziesz na stronie Uwierzytelnianie i autoryzacja.
Treść żądania
W treści żądania podaj zasób Wydarzenia 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. | |
iCalUID |
string |
Unikalny identyfikator zdarzenia zdefiniowany w dokumencie RFC5545. Służy do jednoznacznego identyfikowania wydarzeń w różnych systemach kalendarza i musi być podany podczas importowania wydarzeń za pomocą metody import. Pamiętaj, że |
|
start |
nested object |
Godzina rozpoczęcia wydarzenia (włącznie). W przypadku wydarzenia cyklicznego jest to czas rozpoczęcia pierwszego wystąpienia. | |
Właściwości opcjonalne | |||
anyoneCanAddSelf |
boolean |
Czy każdy może zaprosić siebie na wydarzenie (ta opcja została wycofana). Opcjonalnie: Wartość domyślna to False (fałsz). | zapisywalny |
attachments[].fileUrl |
string |
Link do załącznika. Aby dodać załączniki plików z Dysku Google, użyj tego samego formatu co w właściwości Wymagane podczas dodawania załącznika. |
zapisywalny |
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. | zapisywalny |
attendees[].additionalGuests |
integer |
Liczba dodatkowych gości. Opcjonalnie: Wartość domyślna to 0. | zapisywalny |
attendees[].comment |
string |
Odpowiedź uczestnika. Opcjonalnie: | zapisywalny |
attendees[].displayName |
string |
Imię i nazwisko uczestnika (jeśli jest dostępny). Opcjonalnie: | zapisywalny |
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. |
zapisywalny |
attendees[].optional |
boolean |
Określa, czy jest to uczestnik opcjonalny. Opcjonalnie: Wartość domyślna to False (fałsz). | zapisywalny |
attendees[].resource |
boolean |
Czy uczestnik jest zasobem. Można go ustawić tylko wtedy, gdy uczestnik jest po raz pierwszy dodawany do wydarzenia. Kolejne modyfikacje są ignorowane. Opcjonalnie: Wartość domyślna to False (fałsz). | zapisywalny |
attendees[].responseStatus |
string |
Stan odpowiedzi uczestnika. Możliwe wartości:
|
zapisywalny |
attendeesOmitted |
boolean |
Czy uczestnicy mogą zostać pominięci w reprezentacji wydarzenia. Podczas pobierania zdarzenia może to być spowodowane ograniczeniem określonym przez parametr zapytania maxAttendee . Podczas aktualizowania wydarzenia możesz użyć tej opcji, aby zaktualizować tylko odpowiedź uczestnika. Opcjonalnie: Wartość domyślna to False (fałsz). |
zapisywalny |
colorId |
string |
Kolor zdarzenia. Jest to identyfikator odnoszący się do wpisu w sekcji event definicji kolorów (patrz punkt końcowy colors). Opcjonalnie: |
zapisywalny |
conferenceData |
nested object |
informacje dotyczące konferencji, takie jak szczegóły konferencji w Google Meet; Aby utworzyć nowe szczegóły konferencji, użyj pola createRequest . Aby zmiany były trwałe, pamiętaj, aby w przypadku wszystkich żądań modyfikacji zdarzenia ustawić parametr conferenceDataVersion na 1 . |
zapisywalny |
description |
string |
Opis wydarzenia. Może zawierać kod HTML. Opcjonalnie: | zapisywalny |
end.date |
date |
Data w formacie „RRRR-MM-DD”, jeśli jest to wydarzenie całodniowe. | zapisywalny |
end.dateTime |
datetime |
Czas jako połączona wartość daty i czasu (sformatowana zgodnie ze standardem RFC3339). Wymagane jest przesunięcie strefy czasowej, chyba że strefa czasowa jest wyraźnie określona w elementach timeZone . |
zapisywalny |
end.timeZone |
string |
Strefa czasowa, w której jest podany czas. (w formacie nazwy strefy czasowej z bazy danych IANA, np. „Europe/Warsaw”). W przypadku zdarzeń cyklicznych to pole jest wymagane i określa strefę czasową, w której rozszerzona jest powtarzalność. 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, które są prywatne dla kopii wydarzenia widocznej w tym kalendarzu. | zapisywalny |
extendedProperties.shared |
object |
Właściwości, które są wspólne dla kopii wydarzenia w kalendarzach innych uczestników. | zapisywalny |
focusTimeProperties |
nested object |
Dane zdarzenia typu Czas skupienia. Używany, jeśli eventType to focusTime . |
zapisywalny |
gadget.display |
string |
Tryb wyświetlania gadżetu. Rola wycofana. Możliwe wartości:
|
zapisywalny |
gadget.height |
integer |
Wysokość gadżetu w pikselach. Wysokość musi być liczbą całkowitą większą od 0. Opcjonalnie: Rola wycofana. | zapisywalny |
gadget.iconLink |
string |
Adres URL ikony gadżetu. Schemat adresu URL musi być HTTPS. Rola wycofana. | zapisywalny |
gadget.link |
string |
Adres URL gadżetu. Schemat adresu URL musi być HTTPS. 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ą od 0. Opcjonalnie: Rola wycofana. | zapisywalny |
guestsCanInviteOthers |
boolean |
Czy uczestnicy inni niż organizator mogą zapraszać inne osoby na wydarzenie. Opcjonalnie: Wartość domyślna to True. | zapisywalny |
guestsCanModify |
boolean |
Określa, czy uczestnicy inni niż organizator mogą modyfikować wydarzenie. Opcjonalnie: Wartość domyślna to False (fałsz). | zapisywalny |
guestsCanSeeOtherGuests |
boolean |
Określa, czy uczestnicy inni niż organizator mogą zobaczyć, kto bierze udział w wydarzeniu. Opcjonalnie: Wartość domyślna to True. | zapisywalny |
location |
string |
Geograficzna lokalizacja wydarzenia w postaci dowolnego tekstu. Opcjonalnie: | zapisywalny |
organizer |
object |
Organizator wydarzenia. Jeśli organizator jest też uczestnikiem, jest to wskazane w osobnym wpisie w sekcji attendees z polem organizer ustawionym na wartość Prawda. Aby zmienić organizatora, użyj operacji move. Dostęp tylko do odczytu, z wyjątkiem importowania zdarzenia. |
zapisywalny |
organizer.displayName |
string |
imię i nazwisko organizatora (jeśli jest dostępne). | zapisywalny |
organizer.email |
string |
Adres e-mail organizatora (jeśli jest dostępny). Musi to być prawidłowy adres e-mail zgodny ze standardem RFC5322. | zapisywalny |
originalStartTime.date |
date |
Data w formacie „RRRR-MM-DD”, jeśli jest to wydarzenie całodniowe. | zapisywalny |
originalStartTime.dateTime |
datetime |
Czas jako połączona wartość daty i czasu (sformatowana zgodnie ze standardem RFC3339). Wymagane jest przesunięcie strefy czasowej, chyba że strefa czasowa jest wyraźnie określona w elementach timeZone . |
zapisywalny |
originalStartTime.timeZone |
string |
Strefa czasowa, w której jest podany czas. (w formacie nazwy strefy czasowej z bazy danych IANA, np. „Europe/Warsaw”). W przypadku zdarzeń cyklicznych to pole jest wymagane i określa strefę czasową, w której rozszerzona jest powtarzalność. W przypadku pojedynczych wydarzeń to pole jest opcjonalne i wskazuje niestandardową strefę czasową rozpoczęcia/zakończenia wydarzenia. | zapisywalny |
outOfOfficeProperties |
nested object |
dane o wydarzeniu poza biurem; Używany, jeśli eventType to outOfOffice . |
zapisywalny |
recurrence[] |
list |
Lista wierszy RRULE, EXRULE, RDATE i EXDATE dla powtarzającego się zdarzenia, zgodnie z RFC5545. Pamiętaj, że w tym polu nie można używać linii DTSTART i DTEND. Czas rozpoczęcia i zakończenia wydarzenia jest określony w polach start i end . To pole jest pomijane w przypadku pojedynczych wydarzeń lub wystąpień wydarzeń cyklicznych. |
zapisywalny |
reminders.overrides[] |
list |
Jeśli zdarzenie nie korzysta z domyślnych przypomnień, wyświetla się lista przypomnień dotyczących tego zdarzenia. Jeśli nie ma przypomnień, wyświetla się informacja, że nie ma żadnych przypomnień dotyczących tego zdarzenia. Maksymalna liczba przypomnień do zastąpienia to 5. | zapisywalny |
reminders.overrides[].method |
string |
Metoda używana przez ten przypomnienie. Możliwe wartości:
Wymagany podczas dodawania przypomnienia. |
zapisywalny |
reminders.overrides[].minutes |
integer |
Liczba minut przed rozpoczęciem wydarzenia, w których przypomnienie powinno się aktywować. Dozwolone wartości to 0–40 320 (4 tygodnie w minutach). Wymagany podczas dodawania przypomnienia. |
zapisywalny |
reminders.useDefault |
boolean |
Określa, czy do wydarzenia mają zastosowanie domyślne przypomnienia z kalendarza. | zapisywalny |
sequence |
integer |
Numer sekwencyjny zgodnie z iCalendar. | zapisywalny |
source.title |
string |
Tytuł źródła, np. tytuł strony internetowej lub temat e-maila. | zapisywalny |
source.url |
string |
Adres URL źródła wskazującego zasób. Schemat adresu URL musi być HTTP lub HTTPS. | zapisywalny |
start.date |
date |
Data w formacie „RRRR-MM-DD”, jeśli jest to wydarzenie całodniowe. | zapisywalny |
start.dateTime |
datetime |
Czas jako połączona wartość daty i czasu (sformatowana zgodnie ze standardem RFC3339). Wymagane jest przesunięcie strefy czasowej, chyba że strefa czasowa jest wyraźnie określona w elementach timeZone . |
zapisywalny |
start.timeZone |
string |
Strefa czasowa, w której jest podany czas. (w formacie nazwy strefy czasowej z bazy danych IANA, np. „Europe/Warsaw”). W przypadku zdarzeń cyklicznych to pole jest wymagane i określa strefę czasową, w której rozszerzona jest powtarzalność. W przypadku pojedynczych wydarzeń to pole jest opcjonalne i wskazuje niestandardową strefę czasową rozpoczęcia/zakończenia wydarzenia. | zapisywalny |
status |
string |
Stan zdarzenia. Opcjonalnie: Możliwe wartości:
|
zapisywalny |
summary |
string |
Nazwa wydarzenia, | zapisywalny |
transparency |
string |
Określa, czy wydarzenie blokuje czas w kalendarzu. Opcjonalnie: Możliwe wartości:
|
zapisywalny |
visibility |
string |
Widoczność zdarzenia. Opcjonalnie: Możliwe wartości:
|
zapisywalny |
Odpowiedź
Jeśli operacja się powiedzie, zwróci ona w swoim ciele odpowiedź z zasobem Events.
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; import com.google.api.services.calendar.model.EventAttendee; import com.google.api.services.calendar.model.EventDateTime; import com.google.api.client.util.DateTime; import java.util.Date; // ... // Initialize Calendar service with valid OAuth credentials Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials) .setApplicationName("applicationName").build(); // Create and initialize a new event (could also retrieve an existing event) Event event = new Event(); event.setICalUID("originalUID"); Event.Organizer organizer = new Event.Organizer(); organizer.setEmail("organizerEmail"); organizer.setDisplayName("organizerDisplayName"); event.setOrganizer(organizer); ArrayList<EventAttendee> attendees = new ArrayList<EventAttendee>(); attendees.add(new EventAttendee().setEmail("attendeeEmail")); // ... event.setAttendees(attendees); Date startDate = new Date(); Date endDate = new Date(startDate.getTime() + 3600000); DateTime start = new DateTime(startDate, TimeZone.getTimeZone("UTC")); event.setStart(new EventDateTime().setDateTime(start)); DateTime end = new DateTime(endDate, TimeZone.getTimeZone("UTC")); event.setEnd(new EventDateTime().setDateTime(end)); // Import the event into a calendar Event importedEvent = service.events().calendarImport('primary', event).execute(); System.out.println(importedEvent.getId());
Python
Korzysta z biblioteki klienta Pythona.
event = { 'summary': 'Appointment', 'location': 'Somewhere', 'organizer': { 'email': 'organizerEmail', 'displayName': 'organizerDisplayName' }, 'start': { 'dateTime': '2011-06-03T10:00:00.000-07:00' }, 'end': { 'dateTime': '2011-06-03T10:25:00.000-07:00' }, 'attendees': [ { 'email': 'attendeeEmail', 'displayName': 'attendeeDisplayName', }, # ... ], 'iCalUID': 'originalUID' } imported_event = service.events().import_(calendarId='primary', body=event).execute() print imported_event['id']
PHP
Używa biblioteki klienta PHP.
$event = new Google_Service_Calendar_Event(); $event->setSummary('Appointment'); $event->setLocation('Somewhere'); $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime('2011-06-03T10:00:00.000-07:00'); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime('2011-06-03T10:25:00.000-07:00'); $event->setEnd($end); $attendee1 = new Google_Service_Calendar_EventAttendee(); $attendee1->setEmail('attendeeEmail'); // ... $attendees = array($attendee1, // ..., ); $event->attendees = $attendees; $organizer = new Google_Service_Calendar_EventOrganizer(); $organizer->setEmail('organizerEmail'); $organizer->setDisplayName('organizerDisplayName'); $event->setOrganizer($organizer); $event->setICalUID('originalUID'); $importedEvent = $service->events->import('primary', $event); echo $importedEvent->getId();
Ruby
Używa biblioteki klienta Ruby.
event = Google::Apis::CalendarV3::Event.new( summary: 'Appointment', location: 'Somewhere', organizer: { email: 'organizerEmail', display_name: 'organizerDisplayName' }, start: { date_time: '2011-06-03T10:00:00.000-07:00' }, end: { date_time: '2011-06-03T10:25:00.000-07:00' }, attendees: [ { email: 'attendeeEmail', display_name: 'attendeeDisplayName', }, # ... ], i_cal_uid: 'originalUID' ) result = client.import_event('primary', event) print result.id
Wypróbuj
Aby wywołać tę metodę na podstawie danych na żywo i zobaczyć odpowiedź, użyj narzędzia APIs Explorer.