Araç: list_events
Belirli bir takvimdeki, belirli koşulları karşılayan takvim etkinliklerini listeler.
Temel Özellikler:
- Kullanıcının birincil takvimi veya diğer takvimler olabilen herhangi bir takvim kimliği.
- Zaman aralığına göre filtreleme.
- Zaman kısıtlamalarıyla eşleşen TÜM etkinlikleri alır.
Kullanıcının birincil takviminde arama yaparken mümkünse bunun yerine search_events aracını kullanın:
- Belirli bir konu, kategori veya amaca (ör. "öğle yemeği toplantıları", "proje senkronizasyonları") uyan etkinlikler için sorgu gönderiyorsunuz.
- Kısıtlamaları karşılayan tüm etkinlikler yerine en alakalı (en üstteki K) etkinlikleri bulmanız gerekir.
- Anahtar kelime veya semantik arama özelliklerine ihtiyacınız var.
Bu aracı aşağıdaki gibi sorgular için kullanın:
- Yarın takvimimde ne var?
- 14 Temmuz 2025'te takvimimde ne var?
- Gelecek hafta hangi toplantılarım var?
- Bu öğleden sonra çakışan toplantım var mı?
Can'ın yarın hangi toplantıları var?
Örnek:
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.
Aşağıdaki örnekte, curl kullanılarak list_events MCP aracının nasıl çağrılacağı gösterilmektedir.
| Curl İsteği |
|---|
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 }' |
Giriş Şeması
ListEventsRequest
| JSON gösterimi |
|---|
{ "eventTypeFilter": [ string ], "calendarId": string "pageSize": integer "pageToken": string "startTime": string "endTime": string "timeZone": string "orderBy": string "fullText": string } |
| Alanlar | |
|---|---|
eventTypeFilter[] |
İsteğe bağlı. Döndürülecek etkinlik türleri. Olası değerler:
Boşsa yalnızca şu etkinlik türleri döndürülür: |
|
|
calendarId |
İsteğe bağlı. Etkinliklerin listeleneceği takvimin kimliği. Varsayılan olarak kullanıcının birincil takvimi kullanılır. |
|
|
pageSize |
İsteğe bağlı. Bir sonuç sayfasında döndürülen maksimum etkinlik sayısı. Sorguyla eşleşen daha fazla etkinlik olsa bile sonuç sayfasındaki etkinlik sayısı bu değerden daha az olabilir veya hiç etkinlik olmayabilir. Eksik sayfalar, yanıttaki boş olmayan bir |
|
|
pageToken |
İsteğe bağlı. Hangi sonuç sayfasının döndürüleceğini belirten jeton. |
|
|
startTime |
İsteğe bağlı. Bir etkinliğin bitiş zamanı için alt sınır (hariç). Yalnızca bu saatten kesinlikle sonra sona eren etkinlikler döndürülür (ör. aranacak zaman aralığının başlangıcı). Ne |
|
|
endTime |
İsteğe bağlı. Bir etkinliğin başlangıç zamanı için üst sınır (hariç). Yalnızca bu saatten kesinlikle önce başlayan etkinlikler döndürülür (ör. arama yapılacak zaman aralığının sonu). Belirtilmişse |
|
|
timeZone |
İsteğe bağlı. Yanıtın oluşturulmasında ve istekteki saat dilimi içermeyen tarihler çözümlenirken kullanılan saat dilimi (IANA Saat Dilimi Veritabanı adı olarak biçimlendirilir, ör. |
|
|
orderBy |
İsteğe bağlı. Etkinliklerin döndürülmesi gereken sıra. Olası değerler:
|
|
|
fullText |
İsteğe bağlı. Başlık, açıklama, konum ve katılımcılar arasında arama yapmak için serbest biçimli arama sorgusu. |
Çıkış şeması
ListEventsResponse
| JSON gösterimi |
|---|
{ "summary": string, "description": string, "updated": string, "timeZone": string, "accessRole": string, "defaultReminders": [ { object ( |
| Alanlar | |
|---|---|
summary |
Takvimin başlığı. |
description |
Takvimin açıklaması. |
updated |
Takvimin son değiştirilme zamanı (ISO 8601 zaman damgası olarak). |
timeZone |
Takvimin saat dilimi |
accessRole |
Kullanıcının bu takvimdeki erişim rolü. Salt okunur. Olası değerler:
|
defaultReminders[] |
Kimliği doğrulanmış kullanıcının takvimindeki varsayılan hatırlatıcılar. Bu hatırlatıcılar, bu takvimdeki açıkça geçersiz kılınmayan (ör. override_reminders doldurulmayan) tüm etkinlikler için geçerlidir. |
events[] |
Takvimdeki etkinliklerin listesi. |
|
|
nextPageToken |
Bu sonucun sonraki sayfasına erişmek için kullanılan jeton. Başka sonuç yoksa atlanır. |
Hatırlatma
| JSON gösterimi |
|---|
{ "method": string "minutes": integer } |
| Alanlar | |
|---|---|
|
|
method |
Zorunlu. Hatırlatmanın kullanıcıya nasıl iletileceği. Olası değerler:
|
|
|
minutes |
Zorunlu. Hatırlatıcının kaç dakika önce gönderileceği. |
Etkinlik
| JSON gösterimi |
|---|
{ "id": string, "status": string, "htmlLink": string, "created": string, "updated": string, "summary": string, "description": string, "location": string, "creator": { object ( |
| Alanlar | |
|---|---|
id |
Etkinliğin opak tanımlayıcısı. Yeni tek seferlik veya yinelenen etkinlikler oluştururken bunların kimliklerini belirtebilirsiniz. Gönderilen kimlikler aşağıdaki kurallara uymalıdır:
Sistemin küresel olarak dağıtılmış yapısı nedeniyle, kimlik çakışmalarının etkinlik oluşturma sırasında tespit edileceğini garanti edemeyiz. Çakışma riskini en aza indirmek için RFC4122'de açıklanan gibi yerleşik bir UUID algoritması kullanmanızı öneririz. Kimlik belirtmezseniz sunucu tarafından otomatik olarak oluşturulur. icalUID ve kimliğin aynı olmadığını ve etkinlik oluşturma sırasında yalnızca birinin sağlanması gerektiğini unutmayın. Semantiklerindeki bir fark, yinelenen etkinliklerde bir etkinliğin tüm oluşumlarının farklı kimliklere sahip olması ancak hepsinin aynı icalUID'leri paylaşmasıdır. |
status |
Etkinliğin durumu. İsteğe bağlı. Olası değerler:
İptal edildi durumu, etkinlik türüne bağlı olarak iki farklı durumu ifade eder:
Düzenleyenin takviminde, iptal edilen etkinlikler, geri yüklenebilmeleri (silinmemiş) için etkinlik ayrıntılarını (özet, konum vb.) göstermeye devam eder. Benzer şekilde, kullanıcının davet edildiği ve manuel olarak kaldırdığı etkinlikler de ayrıntı sağlamaya devam eder. Ancak showDeleted parametresi false olarak ayarlanmış artımlı senkronizasyon istekleri bu ayrıntıları döndürmez. Bir etkinliğin düzenleyeni değişirse (örneğin, taşıma işlemiyle) ve ilk düzenleyen katılımcı listesinde yer almıyorsa yalnızca kimlik alanının doldurulacağı iptal edilmiş bir etkinlik bırakılır. |
htmlLink |
Google Takvim web kullanıcı arayüzünde bu etkinliğe giden mutlak bağlantı. Salt okunur. |
created |
Etkinliğin oluşturulma zamanı (ISO 8601 biçimli zaman damgası olarak). Salt okunur. |
updated |
Ana etkinlik verilerinin son değiştirilme zamanı (ISO 8601 biçimli zaman damgası olarak). Etkinlik hatırlatıcılarını güncellemek bu durumu değiştirmez. Salt okunur. |
summary |
Etkinliğin adı. |
description |
Etkinliğin açıklaması. HTML içerebilir. İsteğe bağlı. |
location |
Etkinliğin coğrafi konumu (serbest biçimli metin olarak). İsteğe bağlı. |
creator |
Etkinliği oluşturan kişi. Salt okunur. |
organizer |
Etkinliğin düzenleyicisi. Düzenleyici aynı zamanda katılımcıysa bu durum, katılımcılar bölümünde ayrı bir girişle belirtilir ve düzenleyici alanı True olarak ayarlanır. Salt okunur. |
start |
Etkinliğin başlangıç zamanı (girilen tarihler dahil). Düzenli bir etkinlik için bu, ilk örneğin başlangıç zamanıdır. |
end |
Etkinliğin bitiş zamanı (girilen tarihler dahil değil). Düzenli etkinliklerde bu, ilk örneğin bitiş zamanıdır. |
recurrence[] |
Yinelenen bir etkinlik için RFC5545'te belirtildiği gibi RRULE, EXRULE, RDATE ve EXDATE satırlarının listesi. Bu alanda DTSTART ve DTEND satırlarına izin verilmediğini unutmayın. Etkinlik başlangıç ve bitiş zamanları, başlangıç ve bitiş alanlarında belirtilir. Bu alan, tek seferlik etkinlikler veya yinelenen etkinliklerin örnekleri için atlanır. |
recurringEventId |
Yinelenen bir etkinliğin örneği için bu, örneğin ait olduğu düzenli etkinliğin kimliğidir. Değişmez. |
originalStartTime |
Düzenli bir etkinliğin örneği için bu, recurringEventId ile tanımlanan düzenli etkinlikteki yinelenme verilerine göre bu etkinliğin başlayacağı zamandır. Örnek farklı bir zamana taşınmış olsa bile, düzenli etkinlik serisindeki örneği benzersiz şekilde tanımlar. Değişmez. |
transparency |
Etkinliğin takvimde zamanı engelleyip engellemediği. İsteğe bağlı. Olası değerler:
|
visibility |
Etkinliğin görünürlüğü. İsteğe bağlı. Olası değerler:
|
attendees[] |
Etkinliğe katılanlar. |
eventType |
Etkinliğin türü. Bu ayar, etkinlik oluşturulduktan sonra değiştirilemez. Olası değerler:
|
conferenceUrl |
Etkinliğin Google Meet bağlantısı. |
colorId |
Etkinlik rengi kimliği (dize
Google Takvim'de etkinlik renkleri, etkinlik veya seri bazında ayarlanabilen kategoriler olarak işlev görür. Kullanıcılar, web kullanıcı arayüzünde renklere özel etiketler atayabilir (ör. |
overrideReminders[] |
Bu etkinlik için tanımlanan hatırlatıcılar, takvimin varsayılan hatırlatıcılarını geçersiz kılar. Ayarlanmazsa takvimdeki varsayılan hatırlatıcılar kullanılır. |
Ana hesap
| JSON gösterimi |
|---|
{ "email": string, "displayName": string, "self": boolean } |
| Alanlar | |
|---|---|
email |
Asıl kullanıcının (takvim) e-posta adresi. |
displayName |
Varsa müdürün adı. |
self |
Bu asıl kullanıcının, etkinliğin bu kopyasının göründüğü takvime karşılık gelip gelmediği. Salt okunur. Varsayılan değer False'tur. |
DateOrDateTime
| JSON gösterimi |
|---|
{ "date": string, "dateTime": string, "timeZone": string } |
| Alanlar | |
|---|---|
date |
UTC gece yarısı saatinde ISO 8601 biçiminde tarih (ör. |
dateTime |
|
timeZone |
Varsa TZDB saat dilimi adı. |
Katılımcı
| JSON gösterimi |
|---|
{ "id": string, "email": string, "displayName": string, "organizer": boolean, "self": boolean, "resource": boolean, "optionalAttendee": boolean, "responseStatus": string, "comment": string, "additionalGuests": integer } |
| Alanlar | |
|---|---|
id |
Katılımcının profil kimliği (varsa) |
email |
Katılımcının e-posta adresi (varsa). Katılımcı eklerken bu alan bulunmalıdır. RFC5322'ye göre geçerli bir e-posta adresi olmalıdır. Katılımcı eklerken gereklidir. |
displayName |
Varsa katılımcının adı. İsteğe bağlı. |
organizer |
Katılımcının etkinliğin düzenleyicisi olup olmadığı. Salt okunur. Varsayılan değer False'tur. |
self |
Bu giriş, etkinliğin bu kopyasının göründüğü takvimi temsil edip etmediği. Salt okunur. Varsayılan değer False'tur. |
resource |
Katılımcının kaynak olup olmadığı. Yalnızca katılımcı etkinliğe ilk kez eklendiğinde ayarlanabilir. Sonraki değişiklikler yoksayılır. İsteğe bağlı. Varsayılan değer False'tur. |
optionalAttendee |
Bu katılımcının isteğe bağlı olup olmadığı. İsteğe bağlı. Varsayılan değer False'tur. |
responseStatus |
Katılımcının yanıt durumu. Olası değerler:
|
comment |
Katılımcının yanıt yorumu. İsteğe bağlı. |
additionalGuests |
Ek davetli sayısı. İsteğe bağlı. Varsayılan değer 0'dır. |
Araç Ek Açıklamaları
Yıkıcı İpucu: ❌ | İdempotent İpucu: ✅ | Salt Okunur İpucu: ✅ | Açık Dünya İpucu: ❌