MCP Tools Reference: calendarmcp.googleapis.com

Công cụ: update_event

Cập nhật một sự kiện trên lịch đã cho.

Mẫu sau đây minh hoạ cách sử dụng curl để gọi công cụ MCP update_event.

Yêu cầu Curl
curl --location 'https://calendarmcp.googleapis.com/mcp/v1' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "update_event",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Giản đồ đầu vào

Thông báo yêu cầu cho UpdateEvent. Những trường chưa được đặt sẽ không được cập nhật.

UpdateEventRequest

Biểu diễn dưới dạng JSON
{
  "eventId": string,
  "addedAttendeeEmails": [
    string
  ],
  "addedAttendees": [
    {
      object (Attendee)
    }
  ],
  "removedAttendeeEmails": [
    string
  ],
  "overrideReminders": [
    {
      object (Reminder)
    }
  ],
  "addedAttachments": [
    {
      object (Attachment)
    }
  ],
  "removedAttachmentFileUrls": [
    string
  ],

  "calendarId": string

  "summary": string

  "description": string

  "location": string

  "startTime": string

  "endTime": string

  "allDay": boolean

  "timeZone": string

  "notificationLevel": enum (NotificationLevel)

  "addGoogleMeetUrl": boolean

  "visibility": string

  "colorId": string

  "googleMeetUrl": string

  "guestPermissions": {
    object (GuestPermissions)
  }

  "availability": enum (Availability)
}
Trường
eventId

string

Bắt buộc. Mã sự kiện.

addedAttendeeEmails[]
(deprecated)

string

Không bắt buộc. Không dùng nữa: hãy sử dụng added_attendees.

addedAttendees[]

object (Attendee)

Không bắt buộc. Người tham dự cần thêm vào sự kiện.

removedAttendeeEmails[]

string

Không bắt buộc. Người tham dự sự kiện cần xoá, dưới dạng địa chỉ email.

overrideReminders[]

object (Reminder)

Không bắt buộc. Nếu được đặt, tham số này sẽ thay thế tất cả lời nhắc hiện có cho sự kiện.

addedAttachments[]

object (Attachment)

Không bắt buộc. Tệp đính kèm cần thêm vào sự kiện.

removedAttachmentFileUrls[]

string

Không bắt buộc. Tệp đính kèm cần xoá khỏi sự kiện.

Trường nhóm _calendar_id.

_calendar_id chỉ có thể là một trong những trạng thái sau:

calendarId

string

Không bắt buộc. Mã của lịch chứa sự kiện. Địa chỉ email – có thể được phân giải bằng list_calendars. Mặc định: lịch chính.

Trường nhóm _summary.

_summary chỉ có thể là một trong những trạng thái sau:

summary

string

Không bắt buộc. Tiêu đề mới.

Trường nhóm _description.

_description chỉ có thể là một trong những trạng thái sau:

description

string

Không bắt buộc. Nội dung mô tả mới. Có thể chứa HTML.

Trường nhóm _location.

_location chỉ có thể là một trong những trạng thái sau:

location

string

Không bắt buộc. Vị trí mới.

Trường nhóm _start_time.

_start_time chỉ có thể là một trong những trạng thái sau:

startTime

string

Không bắt buộc. Giờ bắt đầu mới (ISO 8601). Giữ nguyên thời lượng nếu chỉ cập nhật thời gian bắt đầu.

Trường nhóm _end_time.

_end_time chỉ có thể là một trong những trạng thái sau:

endTime

string

Không bắt buộc. Thời gian kết thúc mới (ISO 8601).

Trường nhóm _all_day.

_all_day chỉ có thể là một trong những trạng thái sau:

allDay

boolean

Không bắt buộc. Thay đổi sự kiện thành sự kiện cả ngày. Nếu được đặt, bạn cũng phải cung cấp start_time/end_time.

Trường nhóm _time_zone.

_time_zone chỉ có thể là một trong những trạng thái sau:

timeZone

string

Không bắt buộc. Tên Cơ sở dữ liệu múi giờ IANA (ví dụ: America/Los_Angeles). Mặc định: múi giờ chính của người dùng. Ghi đè các độ lệch trong start_timeend_time.

Trường nhóm _notification_level.

_notification_level chỉ có thể là một trong những trạng thái sau:

notificationLevel

enum (NotificationLevel)

Không bắt buộc. Email thông báo sẽ được gửi cho nội dung cập nhật này của sự kiện. Mặc định: ALL.

Trường nhóm _add_google_meet_url.

_add_google_meet_url chỉ có thể là một trong những trạng thái sau:

addGoogleMeetUrl

boolean

Không bắt buộc. Nếu đúng, hãy tạo hoặc cập nhật URL Google Meet cho sự kiện. Bị bỏ qua nếu Meet bị vô hiệu hoá.

Trường nhóm _visibility.

_visibility chỉ có thể là một trong những trạng thái sau:

visibility

string

Không bắt buộc. Chế độ hiển thị mới của sự kiện. Các giá trị có thể là:

  • default – Sử dụng chế độ hiển thị mặc định cho các sự kiện trên lịch. Giá trị mặc định.
  • public – Tất cả người đọc lịch đều có thể xem thông tin chi tiết về sự kiện.
  • private – Sự kiện này là sự kiện riêng tư và chỉ những người tham dự sự kiện mới có thể xem thông tin chi tiết về sự kiện.

Trường nhóm _color_id.

_color_id chỉ có thể là một trong những trạng thái sau:

colorId

string

Không bắt buộc. Màu mới của sự kiện. Để biết danh sách mã màu, hãy tham khảo tài liệu về Tài nguyên sự kiện.

Trường nhóm _google_meet_url.

_google_meet_url chỉ có thể là một trong những trạng thái sau:

googleMeetUrl

string

Không bắt buộc. Cho phép đính kèm URL hoặc mã cuộc họp hiện có trên Google Meet vào sự kiện. Ghi đè giá trị của addGoogleMeetUrl.

Trường nhóm _guest_permissions.

_guest_permissions chỉ có thể là một trong những trạng thái sau:

guestPermissions

object (GuestPermissions)

Không bắt buộc. Chế độ cài đặt quyền của khách cho sự kiện này.

Trường nhóm _availability.

_availability chỉ có thể là một trong những trạng thái sau:

availability

enum (Availability)

Không bắt buộc. Sự kiện có chặn thời gian trên lịch hay không.

Người tham dự

Biểu diễn dưới dạng JSON
{

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
Trường

Trường nhóm _id.

_id chỉ có thể là một trong những trạng thái sau:

id

string

Chỉ có đầu ra. Mã hồ sơ.

Trường nhóm _email.

_email chỉ có thể là một trong những trạng thái sau:

email

string

Bắt buộc. Địa chỉ email của người tham dự.

Trường nhóm _display_name.

_display_name chỉ có thể là một trong những trạng thái sau:

displayName

string

Không bắt buộc. Tên.

Trường nhóm _organizer.

_organizer chỉ có thể là một trong những trạng thái sau:

organizer

boolean

Chỉ có đầu ra. Người tham dự có phải là người tổ chức hay không. Mặc định: false.

Trường nhóm _self.

_self chỉ có thể là một trong những trạng thái sau:

self

boolean

Chỉ có đầu ra. Liệu mục này có đại diện cho lịch mà bản sao này của sự kiện xuất hiện hay không. Mặc định: false.

Trường nhóm _resource.

_resource chỉ có thể là một trong những trạng thái sau:

resource

boolean

Không bắt buộc. Người tham dự có phải là tài nguyên (ví dụ: phòng) hay không. Không thể thay đổi, chỉ có thể đặt khi người tham dự được thêm lần đầu. Mặc định: false.

Trường nhóm _optional_attendee.

_optional_attendee chỉ có thể là một trong những trạng thái sau:

optionalAttendee

boolean

Không bắt buộc. Người tham dự có phải là không bắt buộc hay không. Mặc định: false.

Trường nhóm _response_status.

_response_status chỉ có thể là một trong những trạng thái sau:

responseStatus

string

Không bắt buộc. Trạng thái phản hồi. Các giá trị có thể là:

  • needsAction – Người tham dự chưa phản hồi lời mời (nên dùng cho các sự kiện mới).
  • declined – Người tham dự đã từ chối lời mời.
  • tentative – Người tham dự đã dự kiến sẽ chấp nhận lời mời.
  • accepted – Khách mời đã chấp nhận lời mời.

Trường nhóm _comment.

_comment chỉ có thể là một trong những trạng thái sau:

comment

string

Chỉ có đầu ra. Bình luận phản hồi.

Trường nhóm _additional_guests.

_additional_guests chỉ có thể là một trong những trạng thái sau:

additionalGuests

integer

Không bắt buộc. Số lượng khách bổ sung. Mặc định: 0.

Lời nhắc

Biểu diễn dưới dạng JSON
{

  "method": string

  "minutes": integer
}
Trường

Trường nhóm _method.

_method chỉ có thể là một trong những trạng thái sau:

method

string

Bắt buộc. Phương thức phân phối. Các giá trị có thể là:

  • email – Lời nhắc được gửi qua email.
  • popup – Lời nhắc được gửi qua cửa sổ bật lên trên giao diện người dùng.

Trường nhóm _minutes.

_minutes chỉ có thể là một trong những trạng thái sau:

minutes

integer

Bắt buộc. Số phút trước khi lời nhắc được kích hoạt.

Tệp đính kèm

Biểu diễn dưới dạng JSON
{

  "fileUrl": string

  "title": string
}
Trường

Trường nhóm _file_url.

_file_url chỉ có thể là một trong những trạng thái sau:

fileUrl

string

Bắt buộc. Đường liên kết URL đến tệp đính kèm.

Trường nhóm _title.

_title chỉ có thể là một trong những trạng thái sau:

title

string

Không bắt buộc. Tên tệp đính kèm.

GuestPermissions

Biểu diễn dưới dạng JSON
{

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
Trường

Trường nhóm _guests_can_invite_others.

_guests_can_invite_others chỉ có thể là một trong những trạng thái sau:

guestsCanInviteOthers

boolean

Không bắt buộc. Khách có thể mời người khác hay không.

Trường nhóm _guests_can_modify.

_guests_can_modify chỉ có thể là một trong những trạng thái sau:

guestsCanModify

boolean

Không bắt buộc. Khách có thể sửa đổi sự kiện hay không.

Trường nhóm _guests_can_see_guests.

_guests_can_see_guests chỉ có thể là một trong những trạng thái sau:

guestsCanSeeGuests

boolean

Không bắt buộc. Cho biết khách có thể xem những khách khác hay không.

NotificationLevel

Cấp độ thông báo qua email về thông tin cập nhật.

Enum
NOTIFICATION_LEVEL_UNSPECIFIED Mặc định. Được coi là ALL.
NONE Không có thông báo.
EXTERNAL_ONLY Chỉ dành cho người tham dự bên ngoài.
ALL Tất cả người tham dự.

Phạm vi cung cấp

Chế độ cài đặt tình trạng rảnh/bận cho một sự kiện.

Enum
AVAILABILITY_UNSPECIFIED Mặc định. Được coi là BUSY.
AVAILABILITY_BUSY Chặn thời gian trên lịch.
AVAILABILITY_FREE Không chặn thời gian.

Giản đồ đầu ra

Sự kiện

Biểu diễn dưới dạng 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)
    }
  ],
  "conferenceUrl": string,
  "colorId": string,
  "overrideReminders": [
    {
      object (Reminder)
    }
  ],
  "attachments": [
    {
      object (Attachment)
    }
  ],
  "guestPermissions": {
    object (GuestPermissions)
  },
  "eventType": enum (EventType),
  "workingLocationProperties": {
    object (WorkingLocationProperties)
  },
  "availability": enum (Availability)
}
Trường
id

string

Giá trị nhận dạng riêng biệt.

status

string

Không bắt buộc. Trạng thái. Các giá trị có thể là:

  • confirmed – Sự kiện đã được xác nhận (mặc định).
  • tentative – Sự kiện đã được xác nhận tạm thời.
  • cancelled – Sự kiện bị huỷ hoặc bị xoá.

htmlLink

string

Chỉ có đầu ra. Đường liên kết tuyệt đối đến sự kiện này trong giao diện người dùng web của Lịch Google.

created

string

Chỉ có đầu ra. Thời gian tạo (ISO 8601).

updated

string

Chỉ có đầu ra. Thời gian sửa đổi lần gần đây nhất (ISO 8601).

summary

string

Tiêu đề.

description

string

Không bắt buộc. Nội dung mô tả. Có thể chứa HTML.

location

string

Không bắt buộc. Vị trí.

creator

object (Principal)

Chỉ có đầu ra. Nhà sáng tạo.

organizer

object (Principal)

Chỉ có đầu ra. Đơn vị tổ chức. Cũng có tên trong danh sách người tham dự nếu tham dự.

start

object (DateOrDateTime)

Thời gian bắt đầu (bao gồm cả giá trị đầu và giá trị cuối). Đối với sự kiện định kỳ, hệ thống sẽ sử dụng lần diễn ra đầu tiên.

end

object (DateOrDateTime)

Thời gian kết thúc (loại trừ). Đối với các sự kiện định kỳ, hệ thống sẽ sử dụng phiên bản đầu tiên.

recurrence[]

string

Quy tắc định kỳ dưới dạng chuỗi RRULE, EXRULE, RDATE hoặc EXDATE (theo RFC 5545). Bị bỏ qua đối với sự kiện diễn ra một lần. Bạn phải đặt thời gian bắt đầu/kết thúc trong các trường start/end.

recurringEventId

string

Mã sự kiện định kỳ mẹ cho các phiên bản của sự kiện định kỳ.

originalStartTime

object (DateOrDateTime)

Thời gian bắt đầu ban đầu của các sự kiện định kỳ. Đây là thời điểm phiên bản này sẽ bắt đầu theo dữ liệu định kỳ.

transparency
(deprecated)

string

Không bắt buộc. Không dùng nữa: hãy sử dụng availability.

visibility

string

Không bắt buộc. Chế độ hiển thị của sự kiện. Các giá trị có thể là:

  • default – Sử dụng chế độ hiển thị mặc định cho các sự kiện trên lịch. Đây là giá trị mặc định.
  • public – Tất cả người đọc lịch đều có thể xem thông tin chi tiết về sự kiện.
  • private – Chỉ những người tham dự sự kiện mới có thể xem thông tin chi tiết về sự kiện.

attendees[]

object (Attendee)

Người tham dự.

conferenceUrl

string

Đường liên kết đến hội nghị truyền hình.

colorId

string

Màu của sự kiện. Chỉ ảnh hưởng đến chế độ xem lịch của riêng bạn. Đây là mã nhận dạng đề cập đến một mục trong bảng màu của lịch (chuỗi '1''11'):

  • 1: Oải hương
  • 2: Xanh xám
  • 3: Nho
  • 4: Flamingo
  • 5: Chuối
  • 6: Màu quýt
  • 7: Màu xanh chim công
  • 8: Màu than chì
  • 9: Việt quất
  • 10: Húng quế
  • 11: Cà chua.

overrideReminders[]

object (Reminder)

Lời nhắc. Quay lại chế độ cài đặt mặc định của lịch nếu chưa được đặt.

attachments[]

object (Attachment)

Tệp đính kèm.

guestPermissions

object (GuestPermissions)

Quyền của khách.

eventType

enum (EventType)

Loại sự kiện.

workingLocationProperties

object (WorkingLocationProperties)

Thuộc tính địa điểm làm việc. Chỉ được điền sẵn khi event_typeWORKING_LOCATION.

availability

enum (Availability)

Không bắt buộc. Chế độ cài đặt tình trạng rảnh/bận.

Tổng

Biểu diễn dưới dạng JSON
{
  "email": string,
  "displayName": string,
  "self": boolean
}
Trường
email

string

Email.

displayName

string

Tên.

self

boolean

Chỉ có đầu ra. Liệu người dùng này có tương ứng với lịch mà bản sao của sự kiện này xuất hiện hay không. Mặc định: false.

DateOrDateTime

Biểu diễn dưới dạng JSON
{
  "date": string,
  "dateTime": string,
  "timeZone": string
}
Trường
date

string

Ngày theo tiêu chuẩn ISO 8601 vào nửa đêm theo giờ UTC (ví dụ: '2019-11-20T00:00:00Z').

dateTime

string

Dấu thời gian ISO 8601 (ví dụ: '2019-11-20T08:19:06-07:00').

timeZone

string

Tên múi giờ TZDB.

Người tham dự

Biểu diễn dưới dạng JSON
{

  "id": string

  "email": string

  "displayName": string

  "organizer": boolean

  "self": boolean

  "resource": boolean

  "optionalAttendee": boolean

  "responseStatus": string

  "comment": string

  "additionalGuests": integer
}
Trường

Trường nhóm _id.

_id chỉ có thể là một trong những trạng thái sau:

id

string

Chỉ có đầu ra. Mã hồ sơ.

Trường nhóm _email.

_email chỉ có thể là một trong những trạng thái sau:

email

string

Bắt buộc. Địa chỉ email của người tham dự.

Trường nhóm _display_name.

_display_name chỉ có thể là một trong những trạng thái sau:

displayName

string

Không bắt buộc. Tên.

Trường nhóm _organizer.

_organizer chỉ có thể là một trong những trạng thái sau:

organizer

boolean

Chỉ có đầu ra. Người tham dự có phải là người tổ chức hay không. Mặc định: false.

Trường nhóm _self.

_self chỉ có thể là một trong những trạng thái sau:

self

boolean

Chỉ có đầu ra. Liệu mục này có đại diện cho lịch mà bản sao này của sự kiện xuất hiện hay không. Mặc định: false.

Trường nhóm _resource.

_resource chỉ có thể là một trong những trạng thái sau:

resource

boolean

Không bắt buộc. Người tham dự có phải là tài nguyên (ví dụ: phòng) hay không. Không thể thay đổi, chỉ có thể đặt khi người tham dự được thêm lần đầu. Mặc định: false.

Trường nhóm _optional_attendee.

_optional_attendee chỉ có thể là một trong những trạng thái sau:

optionalAttendee

boolean

Không bắt buộc. Người tham dự có phải là không bắt buộc hay không. Mặc định: false.

Trường nhóm _response_status.

_response_status chỉ có thể là một trong những trạng thái sau:

responseStatus

string

Không bắt buộc. Trạng thái phản hồi. Các giá trị có thể là:

  • needsAction – Người tham dự chưa phản hồi lời mời (nên dùng cho các sự kiện mới).
  • declined – Người tham dự đã từ chối lời mời.
  • tentative – Người tham dự đã dự kiến sẽ chấp nhận lời mời.
  • accepted – Khách mời đã chấp nhận lời mời.

Trường nhóm _comment.

_comment chỉ có thể là một trong những trạng thái sau:

comment

string

Chỉ có đầu ra. Bình luận phản hồi.

Trường nhóm _additional_guests.

_additional_guests chỉ có thể là một trong những trạng thái sau:

additionalGuests

integer

Không bắt buộc. Số lượng khách bổ sung. Mặc định: 0.

Lời nhắc

Biểu diễn dưới dạng JSON
{

  "method": string

  "minutes": integer
}
Trường

Trường nhóm _method.

_method chỉ có thể là một trong những trạng thái sau:

method

string

Bắt buộc. Phương thức phân phối. Các giá trị có thể là:

  • email – Lời nhắc được gửi qua email.
  • popup – Lời nhắc được gửi qua cửa sổ bật lên trên giao diện người dùng.

Trường nhóm _minutes.

_minutes chỉ có thể là một trong những trạng thái sau:

minutes

integer

Bắt buộc. Số phút trước khi lời nhắc được kích hoạt.

Tệp đính kèm

Biểu diễn dưới dạng JSON
{

  "fileUrl": string

  "title": string
}
Trường

Trường nhóm _file_url.

_file_url chỉ có thể là một trong những trạng thái sau:

fileUrl

string

Bắt buộc. Đường liên kết URL đến tệp đính kèm.

Trường nhóm _title.

_title chỉ có thể là một trong những trạng thái sau:

title

string

Không bắt buộc. Tên tệp đính kèm.

GuestPermissions

Biểu diễn dưới dạng JSON
{

  "guestsCanInviteOthers": boolean

  "guestsCanModify": boolean

  "guestsCanSeeGuests": boolean
}
Trường

Trường nhóm _guests_can_invite_others.

_guests_can_invite_others chỉ có thể là một trong những trạng thái sau:

guestsCanInviteOthers

boolean

Không bắt buộc. Khách có thể mời người khác hay không.

Trường nhóm _guests_can_modify.

_guests_can_modify chỉ có thể là một trong những trạng thái sau:

guestsCanModify

boolean

Không bắt buộc. Khách có thể sửa đổi sự kiện hay không.

Trường nhóm _guests_can_see_guests.

_guests_can_see_guests chỉ có thể là một trong những trạng thái sau:

guestsCanSeeGuests

boolean

Không bắt buộc. Cho biết khách có thể xem những khách khác hay không.

WorkingLocationProperties

Biểu diễn dưới dạng JSON
{

  "type": enum (WorkingLocationType)

  "customLocationLabel": string
}
Trường

Trường nhóm _type.

_type chỉ có thể là một trong những trạng thái sau:

type

enum (WorkingLocationType)

Không bắt buộc. Loại địa điểm làm việc.

Trường nhóm _custom_location_label.

_custom_location_label chỉ có thể là một trong những trạng thái sau:

customLocationLabel

string

Không bắt buộc. Nhãn của một vị trí tuỳ chỉnh. Bắt buộc nếu loại là CUSTOM_LOCATION.

EventType

Loại sự kiện. Không thể thay đổi sau khi tạo.

Enum
EVENT_TYPE_UNSPECIFIED Được coi là DEFAULT.
DEFAULT Sự kiện định kỳ. Giá trị mặc định.
OUT_OF_OFFICE Sự kiện không có mặt tại văn phòng.
FOCUS_TIME Sự kiện thời gian cần tập trung.
WORKING_LOCATION Sự kiện về địa điểm làm việc.
BIRTHDAY Sự kiện đặc biệt kéo dài cả ngày và diễn ra hằng năm.
FROM_GMAIL Sự kiện từ Gmail. Bạn không thể tạo loại sự kiện này.

WorkingLocationType

Loại địa điểm làm việc.

Enum
WORKING_LOCATION_TYPE_UNSPECIFIED Loại địa điểm làm việc chưa được chỉ định. Sẽ được coi là HOME_OFFICE.
HOME_OFFICE Văn phòng tại nhà.
CUSTOM_LOCATION Vị trí tuỳ chỉnh.

Phạm vi cung cấp

Chế độ cài đặt tình trạng rảnh/bận cho một sự kiện.

Enum
AVAILABILITY_UNSPECIFIED Mặc định. Được coi là BUSY.
AVAILABILITY_BUSY Chặn thời gian trên lịch.
AVAILABILITY_FREE Không chặn thời gian.

Chú giải công cụ

Gợi ý mang tính huỷ diệt: ❌ | Gợi ý mang tính luỹ đẳng: ✅ | Gợi ý chỉ đọc: ❌ | Gợi ý về thế giới mở: ❌

Phạm vi cấp phép

Yêu cầu một trong các phạm vi OAuth sau:

  • https://www.googleapis.com/auth/calendar
  • https://www.googleapis.com/auth/calendar.events