MCP Tools Reference: calendarmcp.googleapis.com

เครื่องมือ: get_event

แสดงผลกิจกรรมเดียวจากปฏิทินที่ระบุ

ใช้เครื่องมือนี้สำหรับการค้นหา เช่น

  • ดูรายละเอียดการประชุมของทีม
  • แสดงกิจกรรมที่มีรหัส event123 ในปฏิทินของฉัน

ตัวอย่าง

get_event(
            eventId='event123'
        )
        # Returns the event details for the event with id `event123` on the user's primary calendar.
        

ตัวอย่างต่อไปนี้แสดงวิธีใช้ curl เพื่อเรียกใช้เครื่องมือ get_event MCP

คำขอ 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": "get_event",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

สคีมาอินพุต

GetEventRequest

การแสดง JSON
{
  "eventId": string,

  "calendarId": string
}
ช่อง
eventId

string

ต้องระบุ รหัสของกิจกรรมที่จะรับ

ฟิลด์ Union _calendar_id

_calendar_id ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น

calendarId

string

ไม่บังคับ รหัสปฏิทินที่จะดึงข้อมูลกิจกรรม ค่าเริ่มต้นคือปฏิทินหลักของผู้ใช้

สคีมาเอาต์พุต

กิจกรรม

การแสดง JSON
{
  "id": string,
  "status": string,
  "htmlLink": string,
  "created": string,
  "updated": string,
  "summary": string,
  "description": string,
  "location": string,
  "creator": {
    object (Principal)
  },
  "organizer": {
    object (Principal)
  },
  "start": {
    object (DateOrDateTime)
  },
  "end": {
    object (DateOrDateTime)
  },
  "recurrence": [
    string
  ],
  "recurringEventId": string,
  "originalStartTime": {
    object (DateOrDateTime)
  },
  "transparency": string,
  "visibility": string,
  "attendees": [
    {
      object (Attendee)
    }
  ],
  "eventType": string,
  "conferenceUrl": string,
  "colorId": string,
  "overrideReminders": [
    {
      object (Reminder)
    }
  ]
}
ช่อง
id

string

ตัวระบุเหตุการณ์แบบทึบ เมื่อสร้างกิจกรรมใหม่แบบครั้งเดียวหรือแบบเกิดซ้ำ คุณจะระบุรหัสของกิจกรรมได้ บัตรประจำตัวที่ส่งมาต้องเป็นไปตามกฎต่อไปนี้

  • อักขระที่อนุญาตในรหัสคืออักขระที่ใช้ในการเข้ารหัส base32hex ซึ่งได้แก่ ตัวอักษรพิมพ์เล็ก a-v และตัวเลข 0-9 ดูส่วนที่ 3.1.2 ใน RFC2938
  • ความยาวของรหัสต้องอยู่ระหว่าง 5 ถึง 1024 อักขระ
  • รหัสต้องไม่ซ้ำกันต่อปฏิทิน

เนื่องจากระบบมีการกระจายอยู่ทั่วโลก เราจึงไม่สามารถรับประกันได้ว่าจะตรวจพบการชนกันของรหัสในเวลาที่สร้างเหตุการณ์ เราขอแนะนำให้ใช้อัลกอริทึม UUID ที่เป็นที่ยอมรับ เช่น อัลกอริทึมที่อธิบายไว้ใน RFC4122 เพื่อลดความเสี่ยงในการชนกัน

หากไม่ได้ระบุรหัส เซิร์ฟเวอร์จะสร้างรหัสให้โดยอัตโนมัติ

โปรดทราบว่า icalUID และรหัสไม่เหมือนกัน และควรระบุเพียงรายการใดรายการหนึ่งเมื่อสร้างกิจกรรม ความแตกต่างอย่างหนึ่งในเชิงความหมายคือในกิจกรรมที่เกิดซ้ำ เหตุการณ์ทั้งหมดของกิจกรรมหนึ่งจะมีรหัสที่แตกต่างกัน แต่ทั้งหมดจะใช้ icalUID เดียวกัน

status

string

สถานะของกิจกรรม ไม่บังคับ ค่าที่เป็นไปได้มีดังนี้

  • confirmed - ยืนยันกิจกรรมแล้ว นี่คือสถานะเริ่มต้น
  • tentative - ยืนยันกิจกรรมแล้ว
  • cancelled - กิจกรรมถูกยกเลิก (ลบ) เมธอด list จะแสดงกิจกรรมที่ยกเลิกเฉพาะในการซิงค์แบบเพิ่ม (เมื่อระบุ syncToken หรือ updatedMin) หรือหากตั้งค่าแฟล็ก showDeleted เป็น true เมธอด get จะแสดงผลเสมอ

สถานะ "ยกเลิก" แสดงถึง 2 สถานะที่แตกต่างกันโดยขึ้นอยู่กับประเภทกิจกรรม ดังนี้

  1. ข้อยกเว้นที่ยกเลิกของกิจกรรมที่เกิดซ้ำซึ่งไม่ได้ยกเลิกบ่งชี้ว่าไม่ควรแสดงอินสแตนซ์นี้ต่อผู้ใช้อีกต่อไป ไคลเอ็นต์ควรจัดเก็บเหตุการณ์เหล่านี้ตลอดอายุการใช้งานของเหตุการณ์ที่เกิดซ้ำหลัก ระบบรับประกันว่าข้อยกเว้นที่ยกเลิกแล้วจะมีค่าสำหรับฟิลด์รหัส recurringEventId และ originalStartTime เท่านั้น ช่องอื่นๆ อาจว่างเปล่า
  2. ส่วนกิจกรรมอื่นๆ ที่ยกเลิกทั้งหมดหมายถึงกิจกรรมที่ถูกลบ ลูกค้าควรนำสำเนาที่ซิงค์ไว้ในเครื่องออก กิจกรรมที่ยกเลิกดังกล่าวจะหายไปในที่สุด ดังนั้นโปรดอย่าคิดว่ากิจกรรมจะพร้อมให้ใช้งานตลอดไป ระบบรับประกันว่ากิจกรรมที่ลบแล้วจะมีเฉพาะช่องรหัสที่ป้อนข้อมูล

ในปฏิทินของผู้จัด กิจกรรมที่ยกเลิกแล้วจะยังคงแสดงรายละเอียดกิจกรรม (สรุป สถานที่ ฯลฯ) เพื่อให้สามารถกู้คืน (ยกเลิกการลบ) ได้ ในทำนองเดียวกัน กิจกรรมที่ผู้ใช้ได้รับเชิญและผู้ใช้ได้นำออกด้วยตนเองจะยังคงแสดงรายละเอียดต่อไป อย่างไรก็ตาม คำขอซิงค์แบบเพิ่มที่มีการตั้งค่า showDeleted เป็น false จะไม่แสดงรายละเอียดเหล่านี้

หากกิจกรรมเปลี่ยนผู้จัด (เช่น ผ่านการดำเนินการย้าย) และผู้จัดคนเดิมไม่ได้อยู่ในรายชื่อผู้เข้าร่วม ระบบจะทิ้งกิจกรรมที่ยกเลิกไว้ซึ่งรับประกันได้ว่าจะมีเฉพาะฟิลด์รหัสเท่านั้น

htmlLink

string

ลิงก์ที่แน่นอนไปยังกิจกรรมนี้ใน UI เว็บของ Google ปฏิทิน อ่านอย่างเดียว

created

string

เวลาสร้างกิจกรรม (เป็นการประทับเวลาที่จัดรูปแบบ ISO 8601) อ่านอย่างเดียว

updated

string

เวลาแก้ไขล่าสุดของข้อมูลเหตุการณ์หลัก (เป็นไทม์สแตมป์ในรูปแบบ ISO 8601) การอัปเดตการช่วยเตือนกิจกรรมจะไม่ทำให้การตั้งค่านี้เปลี่ยนแปลง อ่านอย่างเดียว

summary

string

ชื่อกิจกรรม

description

string

คำอธิบายกิจกรรม มี HTML ได้ ไม่บังคับ

location

string

สถานที่ตั้งทางภูมิศาสตร์ของกิจกรรมเป็นข้อความรูปแบบอิสระ ไม่บังคับ

creator

object (Principal)

ผู้สร้างกิจกรรม อ่านอย่างเดียว

organizer

object (Principal)

ผู้จัดกิจกรรม หากผู้จัดเป็นผู้เข้าร่วมด้วย ระบบจะระบุด้วยรายการแยกต่างหากในผู้เข้าร่วมโดยตั้งค่าช่องผู้จัดเป็นจริง อ่านอย่างเดียว

start

object (DateOrDateTime)

เวลาเริ่มต้นของกิจกรรม (รวมวันที่เริ่มต้น) สำหรับกิจกรรมที่เกิดซ้ำ นี่คือเวลาเริ่มต้นของอินสแตนซ์แรก

end

object (DateOrDateTime)

เวลาสิ้นสุด (ไม่รวม) ของกิจกรรม สำหรับกิจกรรมที่เกิดซ้ำ นี่คือเวลาสิ้นสุดของอินสแตนซ์แรก

recurrence[]

string

รายการบรรทัด RRULE, EXRULE, RDATE และ EXDATE สำหรับกิจกรรมที่เกิดซ้ำตามที่ระบุไว้ใน RFC5545 โปรดทราบว่าไม่อนุญาตให้ใช้บรรทัด DTSTART และ DTEND ในช่องนี้ โดยจะระบุเวลาเริ่มต้นและเวลาสิ้นสุดของกิจกรรมในช่องเริ่มต้นและช่องสิ้นสุด ระบบจะละเว้นฟิลด์นี้สำหรับกิจกรรมเดียวหรืออินสแตนซ์ของกิจกรรมที่เกิดซ้ำ

recurringEventId

string

สำหรับอินสแตนซ์ของกิจกรรมที่เกิดซ้ำ นี่คือรหัสของกิจกรรมที่เกิดซ้ำซึ่งอินสแตนซ์นี้เป็นของ เปลี่ยนแปลงไม่ได้

originalStartTime

object (DateOrDateTime)

สำหรับอินสแตนซ์ของกิจกรรมที่เกิดซ้ำ นี่คือเวลาที่กิจกรรมนี้จะเริ่มตามข้อมูลการเกิดซ้ำในกิจกรรมที่เกิดซ้ำซึ่งระบุโดย recurringEventId ซึ่งจะระบุอินสแตนซ์ภายในชุดกิจกรรมที่เกิดซ้ำได้อย่างไม่ซ้ำกัน แม้ว่าจะย้ายอินสแตนซ์ไปยังเวลาอื่นแล้วก็ตาม เปลี่ยนแปลงไม่ได้

transparency

string

กิจกรรมบล็อกเวลาในปฏิทินหรือไม่ ไม่บังคับ ค่าที่เป็นไปได้มีดังนี้

  • opaque - ค่าเริ่มต้น กิจกรรมจะบล็อกเวลาในปฏิทิน ซึ่งเทียบเท่ากับการตั้งค่า "แสดงสถานะเป็นไม่ว่าง" ใน UI ของปฏิทิน
  • transparent - กิจกรรมจะไม่บล็อกเวลาในปฏิทิน ซึ่งเทียบเท่ากับการตั้งค่า "แสดงสถานะของฉันเป็น" เป็น "ว่าง" ใน UI ของปฏิทิน
visibility

string

การมองเห็นของกิจกรรม ไม่บังคับ ค่าที่เป็นไปได้มีดังนี้

  • default - ใช้ระดับการเข้าถึงเริ่มต้นสำหรับกิจกรรมในปฏิทิน นี่เป็นค่าเริ่มต้น
  • public - กิจกรรมเป็นแบบสาธารณะและรายละเอียดกิจกรรมจะแสดงต่อผู้อ่านปฏิทินทุกคน
  • private - กิจกรรมเป็นแบบส่วนตัวและมีเพียงผู้เข้าร่วมกิจกรรมเท่านั้นที่ดูรายละเอียดกิจกรรมได้
  • confidential - กิจกรรมเป็นแบบส่วนตัว ค่านี้มีไว้เพื่อเหตุผลด้านความเข้ากันได้
attendees[]

object (Attendee)

ผู้เข้าร่วมกิจกรรม

eventType

string

ประเภทเฉพาะของเหตุการณ์ คุณจะแก้ไขส่วนนี้หลังจากที่สร้างกิจกรรมแล้วไม่ได้ ค่าที่เป็นไปได้มีดังนี้

  • birthday - กิจกรรมพิเศษตลอดทั้งวันที่มีการเกิดซ้ำทุกปี
  • default - กิจกรรมปกติหรือไม่ได้ระบุเพิ่มเติม
  • focusTime - กิจกรรมที่ต้องการสมาธิ
  • fromGmail - กิจกรรมจาก Gmail สร้างกิจกรรมประเภทนี้ไม่ได้
  • outOfOffice - กิจกรรมลางาน
  • workingLocation - กิจกรรมสถานที่ทำงาน
conferenceUrl

string

ลิงก์ Google Meet สำหรับกิจกรรม

colorId

string

รหัสสีของกิจกรรม (สตริง 1-11):

  • 1: ลาเวนเดอร์
  • 2: Sage
  • 3: องุ่น
  • 4: ฟลามิงโก
  • 5: กล้วย
  • 6: ส้มจีน
  • 7: นกยูง
  • 8: กราไฟต์
  • 9: บลูเบอร์รี่
  • 10: โหระพา
  • 11: มะเขือเทศ

ใน Google ปฏิทิน สีของกิจกรรมจะทำหน้าที่เป็นหมวดหมู่ ซึ่งตั้งค่าได้ต่อกิจกรรมหรือต่อชุด ผู้ใช้สามารถกำหนดป้ายกำกับที่กำหนดเองให้กับสีใน UI บนเว็บได้ (เช่น 1:1s, Break) แต่ API จะแสดงเฉพาะรหัสตัวเลข ไม่ใช่ป้ายกำกับเหล่านั้น ส่งผลต่อมุมมองปฏิทินของคุณเท่านั้น โดยผู้เข้าร่วมแต่ละคนจะควบคุมสีของกิจกรรมของตนเอง

overrideReminders[]

object (Reminder)

การช่วยเตือนที่กำหนดไว้สำหรับกิจกรรมนี้ ซึ่งจะลบล้างการช่วยเตือนเริ่มต้นสำหรับปฏิทิน หากไม่ได้ตั้งค่า ระบบจะใช้การช่วยเตือนเริ่มต้นในปฏิทิน

ผู้ใช้หลัก

การแสดง JSON
{
  "email": string,
  "displayName": string,
  "self": boolean
}
ช่อง
email

string

อีเมลของผู้รับสิทธิ์ (ปฏิทิน)

displayName

string

ชื่อครูใหญ่ (หากมี)

self

boolean

หลักการนี้สอดคล้องกับปฏิทินที่สำเนากิจกรรมนี้ปรากฏหรือไม่ อ่านอย่างเดียว โดยค่าเริ่มต้นจะเป็น False

DateOrDateTime

การแสดง JSON
{
  "date": string,
  "dateTime": string,
  "timeZone": string
}
ช่อง
date

string

วันที่ในรูปแบบ ISO 8601 ตอนเที่ยงคืน UTC เช่น 2019-11-20T00:00:00Z หากตั้งค่าช่องนี้ไว้ จะต้องไม่ตั้งค่า date_time

dateTime

string

การประทับเวลาที่จัดรูปแบบ ISO 8601 เช่น 2019-11-20T08:19:06-07:00 หรือ 2019-11-20T08:19:06Z หากตั้งค่าช่องนี้ไว้ จะต้องไม่ตั้งค่า date

timeZone

string

ชื่อเขตเวลา TZDB (หากมี)

ผู้เข้าร่วม

การแสดง JSON
{
  "id": string,
  "email": string,
  "displayName": string,
  "organizer": boolean,
  "self": boolean,
  "resource": boolean,
  "optionalAttendee": boolean,
  "responseStatus": string,
  "comment": string,
  "additionalGuests": integer
}
ช่อง
id

string

รหัสโปรไฟล์ของผู้เข้าร่วม (หากมี)

email

string

อีเมลของผู้เข้าร่วม (หากมี) ต้องระบุช่องนี้เมื่อเพิ่มผู้เข้าร่วม ต้องเป็นอีเมลที่ถูกต้องตาม RFC5322 ต้องระบุเมื่อเพิ่มผู้เข้าร่วม

displayName

string

ชื่อผู้เข้าร่วม (หากมี) ไม่บังคับ

organizer

boolean

ระบุว่าผู้เข้าร่วมเป็นผู้จัดกิจกรรมหรือไม่ อ่านอย่างเดียว โดยค่าเริ่มต้นจะเป็น False

self

boolean

ไม่ว่ารายการนี้จะแสดงปฏิทินที่สำเนากิจกรรมนี้ปรากฏหรือไม่ อ่านอย่างเดียว โดยค่าเริ่มต้นจะเป็น False

resource

boolean

ผู้เข้าร่วมเป็นทรัพยากรหรือไม่ ตั้งค่าได้เมื่อเพิ่มผู้เข้าร่วมลงในกิจกรรมเป็นครั้งแรกเท่านั้น ระบบจะไม่สนใจการแก้ไขในภายหลัง ไม่บังคับ โดยค่าเริ่มต้นจะเป็น False

optionalAttendee

boolean

ระบุว่าผู้เข้าร่วมเป็นผู้เข้าร่วมที่ไม่บังคับหรือไม่ ไม่บังคับ โดยค่าเริ่มต้นจะเป็น False

responseStatus

string

สถานะการตอบกลับของผู้เข้าร่วม ค่าที่เป็นไปได้มีดังนี้

  • needsAction - ผู้เข้าร่วมยังไม่ได้ตอบรับคำเชิญ (แนะนำสำหรับกิจกรรมใหม่)
  • declined - ผู้เข้าร่วมปฏิเสธคำเชิญ
  • tentative - ผู้เข้าร่วมตอบรับคำเชิญชั่วคราว
  • accepted - ผู้เข้าร่วมยอมรับคำเชิญแล้ว
comment

string

ความคิดเห็นตอบกลับของผู้เข้าร่วม ไม่บังคับ

additionalGuests

integer

จำนวนแขกเพิ่มเติม ไม่บังคับ ค่าเริ่มต้นคือ 0

การช่วยเตือน

การแสดง JSON
{

  "method": string

  "minutes": integer
}
ช่อง

ฟิลด์ Union _method

_method ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น

method

string

ต้องระบุ วิธีการส่งการช่วยเตือนให้ผู้ใช้ ค่าที่เป็นไปได้มีดังนี้

  • email - ระบบจะส่งการแจ้งเตือนทางอีเมล
  • popup - ระบบจะส่งการแจ้งเตือนผ่านป๊อปอัป UI

ฟิลด์ Union _minutes

_minutes ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น

minutes

integer

ต้องระบุ จำนวนนาทีล่วงหน้าก่อนถึงเวลาที่ควรส่งการช่วยเตือน

คำอธิบายประกอบเครื่องมือ

คำแนะนำที่ทำลายล้าง: ❌ | คำแนะนำที่ทำซ้ำได้: ✅ | คำแนะนำแบบอ่านอย่างเดียว: ✅ | คำแนะนำแบบโลกเปิด: ❌