MCP Tools Reference: calendarmcp.googleapis.com

ابزار: delete_event

یک رویداد تقویم را حذف می‌کند.

از این ابزار برای سوالاتی مانند موارد زیر استفاده کنید:

  • رویداد با شناسه event123 را از تقویم من حذف کن.

برای لغو یا رد یک رویداد، از ابزار respond_to_event استفاده کنید.

مثال:

delete_event(
            eventId='event123'
        )
        # Deletes the event with id 'event123' on the user's primary calendar.
        

نمونه زیر نحوه استفاده از curl برای فراخوانی ابزار delete_event MCP را نشان می‌دهد.

درخواست کرل
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": "delete_event",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

طرحواره ورودی

درخواست پیام برای DeleteEvent.

درخواست حذف رویداد

نمایش JSON
{
  "eventId": string,

  "calendarId": string

  "notificationLevel": enum (NotificationLevel)
}
فیلدها
eventId

string

الزامی. شناسه رویدادی که قرار است حذف شود.

فیلد یونیون _calendar_id .

_calendar_id فقط می‌تواند یکی از موارد زیر باشد:

calendarId

string

اختیاری. شناسه تقویم رویدادی که قرار است حذف شود. پیش‌فرض، تقویم اصلی کاربر است.

فیلد اتحادیه _notification_level .

_notification_level فقط می‌تواند یکی از موارد زیر باشد:

notificationLevel

enum ( NotificationLevel )

اختیاری. کدام ایمیل اعلان باید برای به‌روزرسانی این رویداد ارسال شود. مقادیر ممکن عبارتند از:

  • NONE - هیچ اعلان ایمیلی ارسال نمی‌شود (پیش‌فرض).
  • EXTERNAL_ONLY - فقط شرکت‌کنندگان خارجی (غیر تقویمی) اعلان‌های ایمیلی دریافت می‌کنند.
  • ALL - همه شرکت‌کنندگان در رویداد، اعلان‌های ایمیلی دریافت می‌کنند.

طرحواره خروجی

رویداد

نمایش 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 استفاده می‌شوند، یعنی حروف کوچک av و ارقام 0-9، به بخش 3.1.2 در RFC2938 مراجعه کنید.
  • طول شناسه باید بین ۵ تا ۱۰۲۴ کاراکتر باشد
  • شناسه باید برای هر تقویم منحصر به فرد باشد

با توجه به ماهیت توزیع‌شده‌ی جهانی سیستم، نمی‌توانیم تضمین کنیم که برخوردهای شناسه در زمان ایجاد رویداد شناسایی شوند. برای به حداقل رساندن خطر برخورد، توصیه می‌کنیم از یک الگوریتم UUID تثبیت‌شده مانند الگوریتم شرح داده شده در RFC4122 استفاده کنید.

اگر شناسه‌ای مشخص نکنید، سرور به طور خودکار آن را ایجاد می‌کند.

توجه داشته باشید که icalUID و id یکسان نیستند و فقط یکی از آنها باید در زمان ایجاد رویداد ارائه شود. یک تفاوت در معنای آنها این است که در رویدادهای تکرارشونده، همه رویدادهای یک رویداد id های متفاوتی دارند در حالی که همه آنها icalUID های یکسانی دارند.

status

string

وضعیت رویداد. اختیاری. مقادیر ممکن عبارتند از:

  • confirmed - رویداد تایید شده است. این وضعیت پیش‌فرض است.
  • tentative - این رویداد به طور آزمایشی تأیید شده است.
  • cancelled - رویداد لغو شده (حذف شده) است. متد list رویدادهای لغو شده را فقط در صورت همگام‌سازی افزایشی (زمانی که syncToken یا updatedMin مشخص شده باشند) یا اگر پرچم showDeleted روی true تنظیم شده باشد، برمی‌گرداند. متد get همیشه آنها را برمی‌گرداند.

وضعیت لغو شده بسته به نوع رویداد، دو حالت مختلف را نشان می‌دهد:

  1. استثنائات لغو شده از یک رویداد تکرارشونده لغو نشده نشان می‌دهد که این نمونه دیگر نباید به کاربر ارائه شود. کلاینت‌ها باید این رویدادها را برای طول عمر رویداد تکرارشونده والد ذخیره کنند. استثنائات لغو شده فقط تضمین می‌کنند که مقادیر فیلدهای id، recurringEventId و originalStartTime پر شوند. سایر فیلدها ممکن است خالی باشند.
  2. تمام رویدادهای لغو شده دیگر، رویدادهای حذف شده را نشان می‌دهند. کلاینت‌ها باید کپی‌های همگام‌سازی شده محلی خود را حذف کنند. چنین رویدادهای لغو شده‌ای در نهایت ناپدید می‌شوند، بنابراین به در دسترس بودن آنها به طور نامحدود تکیه نکنید. رویدادهای حذف شده فقط تضمین می‌کنند که فیلد id را پر کنند.

در تقویم سازمان‌دهنده، رویدادهای لغو شده همچنان جزئیات رویداد (خلاصه، مکان و غیره) را نمایش می‌دهند تا بتوان آنها را بازیابی (حذف نشده) کرد. به طور مشابه، رویدادهایی که کاربر به آنها دعوت شده و به صورت دستی حذف کرده است، همچنان جزئیات را ارائه می‌دهند. با این حال، درخواست‌های همگام‌سازی افزایشی با مقدار نادرست showDeleted، این جزئیات را برنمی‌گردانند.

اگر یک رویداد، برگزارکننده خود را تغییر دهد (برای مثال از طریق عملیات جابجایی) و برگزارکننده اصلی در لیست شرکت‌کنندگان نباشد، یک رویداد لغو شده باقی می‌ماند که در آن فقط فیلد id تضمین می‌شود که پر شود.

htmlLink

string

یک پیوند مطلق به این رویداد در رابط کاربری وب تقویم گوگل. فقط خواندنی.

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 - مقدار پیش‌فرض. این رویداد زمان را در تقویم مسدود می‌کند. این معادل تنظیم «به من نشان بده به عنوان مشغول» در رابط کاربری تقویم است.
  • transparent - این رویداد زمان را در تقویم مسدود نمی‌کند. این معادل تنظیم «به من نشان بده» به عنوان «موجود» در رابط کاربری تقویم است.
visibility

string

قابلیت مشاهده رویداد. اختیاری. مقادیر ممکن عبارتند از:

  • default - از مقدار پیش‌فرض نمایش رویدادها در تقویم استفاده می‌کند. این مقدار پیش‌فرض است.
  • public - رویداد عمومی است و جزئیات رویداد برای همه خوانندگان تقویم قابل مشاهده است.
  • private - این رویداد خصوصی است و فقط شرکت‌کنندگان در رویداد می‌توانند جزئیات رویداد را مشاهده کنند.
  • confidential - رویداد خصوصی است. این مقدار به دلایل سازگاری ارائه شده است.
attendees[]

object ( Attendee )

شرکت‌کنندگان در این مراسم.

eventType

string

نوع خاصی از رویداد. این مورد پس از ایجاد رویداد قابل تغییر نیست. مقادیر ممکن عبارتند از:

  • birthday - یک رویداد ویژه تمام روز با تکرار سالانه.
  • default - یک رویداد منظم یا بیشتر مشخص نشده.
  • focusTime - یک رویداد زمان-تمرکز.
  • fromGmail - رویدادی از Gmail. این نوع رویداد قابل ایجاد نیست.
  • outOfOffice - یک رویداد خارج از دفتر.
  • workingLocation - یک رویداد مربوط به محل کار.
conferenceUrl

string

لینک گوگل میت برای این رویداد.

colorId

string

شناسه رنگ رویداد (رشته 1 - 11 ):

  • ۱: اسطوخودوس
  • ۲: مریم گلی
  • ۳: انگور
  • ۴: فلامینگو
  • ۵: موز
  • ۶: نارنگی
  • ۷: طاووس
  • ۸: گرافیت
  • ۹: بلوبری
  • ۱۰: ریحان
  • ۱۱: گوجه فرنگی.

در تقویم گوگل، رنگ رویدادها به عنوان دسته‌بندی عمل می‌کنند - قابل تنظیم برای هر رویداد یا هر سری. کاربران می‌توانند برچسب‌های سفارشی را به رنگ‌ها در رابط کاربری وب اختصاص دهند (مثلاً 1:1s ، Break )، اما API فقط شناسه‌های عددی را نمایش می‌دهد، نه آن برچسب‌ها را. فقط بر نمای تقویم شما تأثیر می‌گذارد - هر شرکت‌کننده رنگ رویداد خود را کنترل می‌کند.

overrideReminders[]

object ( Reminder )

یادآوری‌هایی برای این رویداد تعریف شده‌اند که جایگزین یادآوری‌های پیش‌فرض تقویم می‌شوند. در صورت عدم تنظیم، از یادآوری‌های پیش‌فرض تقویم استفاده می‌شود.

مدیر مدرسه

نمایش JSON
{
  "email": string,
  "displayName": string,
  "self": boolean
}
فیلدها
email

string

آدرس ایمیل مدیر (تقویم).

displayName

string

نام مدیر، در صورت وجود.

self

boolean

آیا این اصل با تقویمی که این کپی از رویداد در آن نمایش داده می‌شود، مطابقت دارد یا خیر. فقط خواندنی. مقدار پیش‌فرض False است.

تاریخ یا تاریخ و زمان

نمایش 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

تعداد مهمانان اضافی. اختیاری. مقدار پیش‌فرض ۰ است.

یادآوری

نمایش JSON
{

  "method": string

  "minutes": integer
}
فیلدها

_method اتحادیه.

_method فقط می‌تواند یکی از موارد زیر باشد:

method

string

الزامی. نحوه‌ی ارسال یادآوری به کاربر. مقادیر ممکن عبارتند از:

  • email - یادآوری‌ها از طریق ایمیل ارسال می‌شوند.
  • popup - یادآوری‌ها از طریق یک پنجره بازشو در رابط کاربری ارسال می‌شوند.

فیلد اتحادیه _minutes .

_minutes فقط می‌تواند یکی از موارد زیر باشد:

minutes

integer

الزامی. تعداد دقایقی قبل از ارسال یادآوری.

حاشیه‌نویسی ابزار

راهنمایی مخرب: ✅ | راهنمایی بی‌اثر: ✅ | راهنمایی فقط خواندنی: ❌ | راهنمایی جهان باز: ❌