Narzędzie: list_events
Wyświetla listę wydarzeń w danym kalendarzu, które spełniają określone warunki.
Najważniejsze funkcje:
- Dowolny identyfikator kalendarza, który może być kalendarzem głównym użytkownika lub innym kalendarzem.
- Filtrowanie według zakresu czasu.
- Pobiera WSZYSTKIE zdarzenia spełniające ograniczenia czasowe.
Jeśli jest dostępny, użyj narzędzia search_events do wyszukiwania w kalendarzu głównym użytkownika, gdy:
- Wyszukujesz wydarzenia pasujące do określonego tematu, kategorii lub intencji (np. „spotkania przy lunchu”, „synchronizacja projektu”).
- Musisz znaleźć (K) najbardziej odpowiednich zdarzeń, a nie wszystkich zdarzeń spełniających ograniczenia.
- Potrzebujesz funkcji wyszukiwania słów kluczowych lub wyszukiwania semantycznego.
Używaj tego narzędzia w przypadku zapytań takich jak:
- Co mam jutro w kalendarzu?
- Co mam w kalendarzu na 14 lipca 2025 roku?
- Jakie spotkania mam w przyszłym tygodniu?
- Czy mam jakieś konflikty w tym popołudniu?
Jakie spotkania ma jutro Jan?
Przykład:
list_events(
startTime='2024-09-17T06:00:00',
endTime='2024-09-17T12:00:00',
pageSize=10
)
# Returns up to 10 calendar events between 6:00 AM and 12:00 PM on September 17, 2024 from the user's primary calendar.
Poniższy przykład pokazuje, jak za pomocą znaku curl wywołać narzędzie list_events MCP.
| Żądanie curl |
|---|
curl --location 'https://calendarmcp.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "list_events", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Schemat wejściowy
ListEventsRequest
| Zapis JSON |
|---|
{ "eventTypeFilter": [ string ], "calendarId": string "pageSize": integer "pageToken": string "startTime": string "endTime": string "timeZone": string "orderBy": string "fullText": string } |
| Pola | |
|---|---|
eventTypeFilter[] |
Opcjonalnie. Typy zdarzeń do zwrócenia. Możliwe wartości to:
Jeśli to pole jest puste, zwracane są tylko te typy zdarzeń: |
Pole zbiorcze Pole |
|
calendarId |
Opcjonalnie. Identyfikator kalendarza, z którego mają być wyświetlane wydarzenia. Domyślnie jest to kalendarz główny użytkownika. |
Pole zbiorcze Pole |
|
pageSize |
Opcjonalnie. Maksymalna liczba zdarzeń zwracanych na jednej stronie wyników. Liczba zdarzeń na stronie wyników może być mniejsza od tej wartości lub może nie być ich wcale, nawet jeśli istnieje więcej zdarzeń pasujących do zapytania. Niekompletne strony można wykryć za pomocą niepustego pola |
Pole zbiorcze Pole |
|
pageToken |
Opcjonalnie. Token określający, którą stronę wyników należy zwrócić. |
Pole zbiorcze Pole |
|
startTime |
Opcjonalnie. Dolna granica (wyłączna) czasu zakończenia wydarzenia. Zwracane są tylko wydarzenia, które kończą się po tym czasie (czyli początek przedziału czasu, w którym należy szukać). Jeśli nie podano wartości |
Pole zbiorcze Pole |
|
endTime |
Opcjonalnie. Górna granica (wyłączna) czasu rozpoczęcia wydarzenia. Zwracane są tylko wydarzenia, które rozpoczęły się ściśle przed tym czasem (czyli przed końcem przedziału czasu wyszukiwania). Jeśli została określona, musi być równa lub większa niż |
Pole zbiorcze Pole |
|
timeZone |
Opcjonalnie. Strefa czasowa używana w odpowiedzi i do rozwiązywania dat bez strefy czasowej w żądaniu (sformatowana jako nazwa z bazy danych stref czasowych IANA, np. |
Pole zbiorcze Pole |
|
orderBy |
Opcjonalnie. Kolejność, w jakiej mają być zwracane zdarzenia. Możliwe wartości to:
|
Pole zbiorcze Pole |
|
fullText |
Opcjonalnie. Dowolne zapytanie wyszukiwania, które obejmuje tytuł, opis, lokalizację i uczestników. |
Schemat wyjściowy
ListEventsResponse
| Zapis JSON |
|---|
{ "summary": string, "description": string, "updated": string, "timeZone": string, "accessRole": string, "defaultReminders": [ { object ( |
| Pola | |
|---|---|
summary |
Tytuł kalendarza. |
description |
Opis kalendarza. |
updated |
Czas ostatniej modyfikacji kalendarza (sygnatura czasowa w formacie ISO 8601). |
timeZone |
Strefa czasowa kalendarza. |
accessRole |
Rola dostępu użytkownika do tego kalendarza. Tylko do odczytu. Możliwe wartości to:
|
defaultReminders[] |
Domyślne przypomnienia w kalendarzu uwierzytelnionego użytkownika. Te przypomnienia dotyczą wszystkich wydarzeń w tym kalendarzu, które nie są wyraźnie zastąpione (tzn. nie zawierają pola override_reminders). |
events[] |
Lista wydarzeń w kalendarzu. |
Pole zbiorcze Pole |
|
nextPageToken |
Token używany do uzyskiwania dostępu do następnej strony tego wyniku. Pomijane, jeśli nie ma więcej wyników. |
Przypomnienie
| Zapis JSON |
|---|
{ "method": string "minutes": integer } |
| Pola | |
|---|---|
Pole zbiorcze Pole |
|
method |
Wymagane. Sposób dostarczania przypomnienia do użytkownika. Możliwe wartości to:
|
Pole zbiorcze Pole |
|
minutes |
Wymagane. Liczba minut przed wydarzeniem, kiedy ma zostać wysłane przypomnienie. |
Zdarzenie
| Zapis JSON |
|---|
{ "id": string, "status": string, "htmlLink": string, "created": string, "updated": string, "summary": string, "description": string, "location": string, "creator": { object ( |
| Pola | |
|---|---|
id |
Nieprzezroczysty identyfikator zdarzenia. Podczas tworzenia nowych wydarzeń jednorazowych lub cyklicznych możesz określić ich identyfikatory. Podane identyfikatory muszą być zgodne z tymi regułami:
Ze względu na globalny charakter systemu nie możemy zagwarantować, że kolizje identyfikatorów zostaną wykryte w momencie tworzenia zdarzenia. Aby zminimalizować ryzyko kolizji, zalecamy użycie sprawdzonego algorytmu UUID, takiego jak opisany w RFC4122. Jeśli nie podasz identyfikatora, zostanie on wygenerowany automatycznie przez serwer. Pamiętaj, że icalUID i identyfikator nie są identyczne i tylko jeden z nich powinien być podany w momencie tworzenia wydarzenia. Jedną z różnic w ich semantyce jest to, że w przypadku wydarzeń cyklicznych wszystkie wystąpienia jednego wydarzenia mają różne identyfikatory, ale wszystkie mają te same identyfikatory icalUID. |
status |
Stan zdarzenia. Opcjonalnie. Możliwe wartości to:
Stan anulowania reprezentuje 2 różne stany w zależności od typu zdarzenia:
W kalendarzu organizatora anulowane wydarzenia nadal zawierają szczegóły (podsumowanie, lokalizację itp.), dzięki czemu można je przywrócić (cofnąć usunięcie). Podobnie wydarzenia, na które użytkownik został zaproszony i które ręcznie usunął, nadal dostarczają szczegółowych informacji. Żądania synchronizacji przyrostowej z parametrem showDeleted ustawionym na wartość false nie zwracają jednak tych szczegółów. Jeśli organizator wydarzenia zmieni się (np. w wyniku operacji przenoszenia), a pierwotny organizator nie znajduje się na liście uczestników, pozostanie po nim anulowane wydarzenie, w którym tylko pole identyfikatora będzie na pewno wypełnione. |
htmlLink |
Bezwzględny link do tego wydarzenia w interfejsie internetowym Kalendarza Google. Tylko do odczytu. |
created |
Czas utworzenia wydarzenia (sygnatura czasowa w formacie ISO 8601). Tylko do odczytu. |
updated |
Czas ostatniej modyfikacji głównych danych wydarzenia (sygnatura czasowa w formacie ISO 8601). Aktualizowanie przypomnień o wydarzeniach nie spowoduje zmiany tego ustawienia. Tylko do odczytu. |
summary |
Nazwa wydarzenia, |
description |
Opis wydarzenia. Może zawierać kod HTML. Opcjonalnie. |
location |
Położenie geograficzne wydarzenia w formie dowolnego tekstu. Opcjonalnie. |
creator |
Twórca wydarzenia. Tylko do odczytu. |
organizer |
Organizator wydarzenia. Jeśli organizator jest też uczestnikiem, jest to oznaczone osobnym wpisem w uczestnikach z polem organizator ustawionym na wartość Prawda. Tylko do odczytu. |
start |
Czas rozpoczęcia wydarzenia (włącznie z wartościami granicznymi). W przypadku wydarzenia cyklicznego jest to czas rozpoczęcia pierwszego wystąpienia. |
end |
Godzina zakończenia wydarzenia (wyłącznie). W przypadku wydarzenia cyklicznego jest to czas zakończenia pierwszego wystąpienia. |
recurrence[] |
Lista wierszy RRULE, EXRULE, RDATE i EXDATE dla wydarzenia cyklicznego zgodnie ze specyfikacją RFC5545. Pamiętaj, że w tym polu nie można używać wierszy DTSTART i DTEND. Czas rozpoczęcia i zakończenia wydarzenia jest określony w polach rozpoczęcia i zakończenia. To pole jest pomijane w przypadku pojedynczych wydarzeń lub wystąpień wydarzeń cyklicznych. |
recurringEventId |
W przypadku wystąpienia wydarzenia cyklicznego jest to identyfikator wydarzenia cyklicznego, do którego należy to wystąpienie. Niezmienna. |
originalStartTime |
W przypadku wystąpienia wydarzenia cyklicznego jest to czas, w którym to wydarzenie powinno się rozpocząć zgodnie z danymi o powtarzaniu w wydarzeniu cyklicznym zidentyfikowanym przez recurringEventId. Unikalnie identyfikuje wystąpienie w serii wydarzeń cyklicznych, nawet jeśli zostało ono przeniesione na inny czas. Niezmienna. |
transparency |
Czy wydarzenie blokuje czas w kalendarzu. Opcjonalnie. Możliwe wartości to:
|
visibility |
Widoczność wydarzenia. Opcjonalnie. Możliwe wartości to:
|
attendees[] |
Uczestnicy wydarzenia. |
eventType |
Konkretny typ zdarzenia. Po utworzeniu wydarzenia nie można zmienić tego ustawienia. Możliwe wartości to:
|
conferenceUrl |
Link do spotkania w Google Meet dotyczącego wydarzenia. |
colorId |
Identyfikator koloru zdarzenia (ciąg znaków
W Kalendarzu Google kolory wydarzeń pełnią funkcję kategorii, które można ustawić dla każdego wydarzenia lub serii. Użytkownicy mogą przypisywać niestandardowe etykiety do kolorów w interfejsie internetowym (np. |
overrideReminders[] |
Przypomnienia zdefiniowane dla tego wydarzenia, które zastępują domyślne przypomnienia dla kalendarza. Jeśli nie zostanie ustawiony, używane będą domyślne przypomnienia w kalendarzu. |
Podmiot zabezpieczeń
| Zapis JSON |
|---|
{ "email": string, "displayName": string, "self": boolean } |
| Pola | |
|---|---|
email |
Adres e-mail podmiotu zabezpieczeń (kalendarza). |
displayName |
Nazwa podmiotu zabezpieczeń (jeśli jest dostępna). |
self |
Czy ten podmiot odpowiada kalendarzowi, w którym pojawia się ta kopia wydarzenia. Tylko do odczytu. Wartość domyślna to False (fałsz). |
DateOrDateTime
| Zapis JSON |
|---|
{ "date": string, "dateTime": string, "timeZone": string } |
| Pola | |
|---|---|
date |
Data w formacie ISO 8601 o północy UTC, np. |
dateTime |
Sygnatura czasowa w formacie ISO 8601, np. |
timeZone |
Nazwa strefy czasowej TZDB, jeśli jest dostępna. |
Uczestnik
| Zapis JSON |
|---|
{ "id": string, "email": string, "displayName": string, "organizer": boolean, "self": boolean, "resource": boolean, "optionalAttendee": boolean, "responseStatus": string, "comment": string, "additionalGuests": integer } |
| Pola | |
|---|---|
id |
Identyfikator profilu uczestnika (jeśli jest dostępny). |
email |
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. |
displayName |
Imię i nazwisko uczestnika (jeśli są dostępne). Opcjonalnie. |
organizer |
Określa, czy uczestnik jest organizatorem wydarzenia. Tylko do odczytu. Wartość domyślna to False (fałsz). |
self |
Określa, czy ten wpis reprezentuje kalendarz, w którym pojawia się ta kopia wydarzenia. Tylko do odczytu. Wartość domyślna to False (fałsz). |
resource |
Określa, czy uczestnik jest zasobem. Można ustawić tylko wtedy, gdy uczestnik jest dodawany do wydarzenia po raz pierwszy. Kolejne modyfikacje są ignorowane. Opcjonalnie. Wartość domyślna to False (fałsz). |
optionalAttendee |
Określ, czy uczestnik jest opcjonalny. Opcjonalnie. Wartość domyślna to False (fałsz). |
responseStatus |
Stan odpowiedzi uczestnika. Możliwe wartości to:
|
comment |
Komentarz uczestnika do odpowiedzi. Opcjonalnie. |
additionalGuests |
Liczba dodatkowych gości. Opcjonalnie. Wartość domyślna to 0. |
Adnotacje narzędzi
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌