الأداة: list_events
تعرض هذه الطريقة أحداث التقويم في تقويم معيّن يستوفي الشروط المحدّدة.
الميزات الأساسية:
- أي رقم تعريف تقويم، ويمكن أن يكون التقويم الأساسي للمستخدم أو تقاويم أخرى.
- فلترة النطاق الزمني
- يستردّ هذا الإجراء جميع الأحداث التي تتطابق مع القيود الزمنية.
إذا كانت أداة search_events متاحة، استخدِمها بدلاً من ذلك لإجراء عمليات البحث في التقويم الأساسي للمستخدم في الحالات التالية:
- أنت تبحث عن أحداث تتطابق مع موضوع أو فئة أو نية معيّنة (مثل "اجتماعات غداء" أو "مزامنة المشاريع").
- عليك العثور على الأحداث الأكثر صلةً (أعلى K) بدلاً من جميع الأحداث التي تستوفي القيود.
- تحتاج إلى إمكانات البحث عن الكلمات الرئيسية أو البحث الدلالي.
استخدِم هذه الأداة للاستعلامات مثل:
- ماذا يتضمّن تقويمي ليوم غد؟
- ماذا يتضمّن تقويمي ليوم 14 يوليو 2025؟
- ما هي اجتماعاتي الأسبوع القادم؟
- هل لديّ أي مواعيد متعارضة بعد ظهر اليوم؟
ما هي الاجتماعات التي سيحضرها عصام غدًا؟
مثال:
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.
يوضّح المثال التالي كيفية استخدام curl لاستدعاء أداة list_events 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": "list_events", "arguments": { // provide these details according to the tool MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
مخطط الإدخال
ListEventsRequest
| تمثيل JSON |
|---|
{ "eventTypeFilter": [ string ], "calendarId": string "pageSize": integer "pageToken": string "startTime": string "endTime": string "timeZone": string "orderBy": string "fullText": string } |
| الحقول | |
|---|---|
eventTypeFilter[] |
اختياريّ. أنواع الأحداث المطلوب عرضها. القيم المحتملة هي:
في حال كانت فارغة، يتم عرض أنواع الأحداث التالية فقط: |
حقل الربط يمكن أن يكون التعليق |
|
calendarId |
اختياريّ. رقم تعريف التقويم الذي سيتم عرض الأحداث منه الإعداد التلقائي هو التقويم الأساسي للمستخدم. |
حقل الربط يمكن أن يكون التعليق |
|
pageSize |
اختياريّ. الحدّ الأقصى لعدد الأحداث التي يتم عرضها في صفحة نتائج واحدة قد يكون عدد الأحداث في الصفحة الناتجة أقل من هذه القيمة، أو قد لا يكون هناك أي أحداث على الإطلاق، حتى إذا كانت هناك أحداث أخرى تطابق طلب البحث. يمكن رصد الصفحات غير المكتملة من خلال الحقل |
حقل الربط يمكن أن يكون التعليق |
|
pageToken |
اختياريّ. رمز مميز يحدّد صفحة النتائج المطلوب عرضها. |
حقل الربط يمكن أن يكون التعليق |
|
startTime |
اختياريّ. الحدّ الأدنى (غير شامل) لوقت انتهاء الحدث لا يتم عرض سوى الأحداث التي تنتهي بعد هذا الوقت تمامًا (أي بداية الفترة الزمنية للبحث). يتم ضبط القيمة تلقائيًا على الوقت الحالي في حال عدم توفير |
حقل الربط يمكن أن يكون التعليق |
|
endTime |
اختياريّ. الحدّ الأعلى (غير شامل) لوقت بدء الحدث يتم عرض الأحداث التي تبدأ قبل هذا الوقت تمامًا (أي نهاية الفترة الزمنية للبحث). يجب أن تكون القيمة أكبر من أو تساوي |
حقل الربط يمكن أن يكون التعليق |
|
timeZone |
اختياريّ. المنطقة الزمنية المستخدَمة في الرد ولتحديد التواريخ التي لا تتضمّن منطقة زمنية في الطلب (يتم تنسيقها كاسم في "قاعدة بيانات المناطق الزمنية IANA"، مثل |
حقل الربط يمكن أن يكون التعليق |
|
orderBy |
اختياريّ. الترتيب الذي يجب أن يتم به عرض الأحداث القيم المحتملة هي:
|
حقل الربط يمكن أن يكون التعليق |
|
fullText |
اختياريّ. طلب بحث ذو تنسيق حر للبحث في العنوان والوصف والموقع الجغرافي والضيوف |
مخطط النتائج
ListEventsResponse
| تمثيل JSON |
|---|
{ "summary": string, "description": string, "updated": string, "timeZone": string, "accessRole": string, "defaultReminders": [ { object ( |
| الحقول | |
|---|---|
summary |
عنوان التقويم |
description |
وصف التقويم |
updated |
تمثّل هذه السمة وقت آخر تعديل للتقويم (كطابع زمني بتنسيق ISO 8601). |
timeZone |
المنطقة الزمنية للتقويم |
accessRole |
دور الوصول الذي يملكه المستخدم لهذا التقويم. للقراءة فقط. القيم المحتملة هي:
|
defaultReminders[] |
التذكيرات التلقائية في التقويم للمستخدم الذي تمّت مصادقته تنطبق هذه التذكيرات على جميع الأحداث في هذا التقويم التي لا تتجاوزها بشكل صريح (أي لا تملأ override_reminders). |
events[] |
قائمة بالأحداث في التقويم |
حقل الربط يمكن أن يكون التعليق |
|
nextPageToken |
الرمز المميز المستخدَم للوصول إلى الصفحة التالية من هذه النتيجة يتم تجاهل هذه السمة إذا لم تتوفّر نتائج أخرى. |
تذكير
| تمثيل JSON |
|---|
{ "method": string "minutes": integer } |
| الحقول | |
|---|---|
حقل الربط يمكن أن يكون التعليق |
|
method |
الحقل مطلوب. توضّح هذه السمة طريقة إرسال التذكير إلى المستخدم. القيم المحتملة هي:
|
حقل الربط يمكن أن يكون التعليق |
|
minutes |
الحقل مطلوب. عدد الدقائق التي يجب أن يتم فيها إرسال التذكير مُسبقًا |
الحدث
| تمثيل JSON |
|---|
{ "id": string, "status": string, "htmlLink": string, "created": string, "updated": string, "summary": string, "description": string, "location": string, "creator": { object ( |
| الحقول | |
|---|---|
id |
معرّف مبهم للحدث. عند إنشاء أحداث جديدة لمرة واحدة أو متكرّرة، يمكنك تحديد معرّفاتها. يجب أن تلتزم بطاقات التعريف المقدَّمة بالقواعد التالية:
نظرًا إلى طبيعة النظام الموزّعة على مستوى العالم، لا يمكننا ضمان رصد تعارضات أرقام التعريف عند إنشاء الحدث. للحدّ من خطر حدوث تعارضات، ننصحك باستخدام خوارزمية UUID ثابتة، مثل تلك الموضّحة في RFC4122. إذا لم تحدّد معرّفًا، سيتم إنشاؤه تلقائيًا بواسطة الخادم. يُرجى العِلم أنّ icalUID والمعرّف ليسا متطابقَين ويجب توفير أحدهما فقط عند إنشاء الحدث. أحد الاختلافات في دلالاتها هو أنّه في الأحداث المتكرّرة، يكون لكل تكرار لحدث واحد معرّفات مختلفة، بينما تشترك جميعها في معرّفات icalUID نفسها. |
status |
تمثّل هذه السمة حالة الحدث. اختياريّ. القيم المحتملة هي:
تمثّل الحالة "تم إلغاؤه" حالتين مختلفتين حسب نوع الحدث:
في تقويم المنظِّم، تواصل الأحداث الملغاة عرض تفاصيل الحدث (الملخّص والموقع الجغرافي وما إلى ذلك) حتى يمكن استعادتها (إلغاء حذفها). وبالمثل، تستمر الأحداث التي تمت دعوة المستخدم إليها وأزالها يدويًا في تقديم التفاصيل. ومع ذلك، لن تعرض طلبات المزامنة التدريجية التي تم ضبط showDeleted فيها على "خطأ" هذه التفاصيل. إذا غيّر حدث ما منظّمه (على سبيل المثال، من خلال عملية النقل) ولم يكن المنظّم الأصلي في قائمة المشاركين، سيؤدي ذلك إلى ترك حدث تم إلغاؤه حيث يكون حقل المعرّف فقط مضمونًا أنّه سيتم ملؤه. |
htmlLink |
رابط مطلق يؤدي إلى هذا الحدث في واجهة مستخدم الويب الخاصة بـ "تقويم Google" للقراءة فقط. |
created |
تمثّل هذه السمة وقت إنشاء الحدث (كطابع زمني منسَّق وفقًا لمعيار ISO 8601). للقراءة فقط. |
updated |
تمثّل هذه السمة وقت آخر تعديل لبيانات الأحداث الرئيسية (كطابع زمني منسَّق بتنسيق ISO 8601). لن يؤدي تعديل تذكيرات الأحداث إلى تغيير ذلك. للقراءة فقط. |
summary |
تمثل هذه الخاصية عنوان الفعالية. |
description |
تمثّل هذه السمة وصف الفعالية. يمكن أن يحتوي على HTML. اختياريّ. |
location |
تمثّل هذه السمة الموقع الجغرافي للحدث كنص حر. اختياريّ. |
creator |
تمثّل هذه السمة الجهة التي أنشأت الفعالية. للقراءة فقط. |
organizer |
تمثّل هذه السمة منظّم الحدث. إذا كان المنظّم ضيفًا أيضًا، يتم الإشارة إلى ذلك بإدخال منفصل في قائمة الضيوف مع ضبط حقل المنظّم على "صحيح". للقراءة فقط. |
start |
وقت بدء الحدث (شامل) بالنسبة إلى حدث متكرّر، هذا هو وقت بدء المرة الأولى. |
end |
تمثّل هذه السمة وقت انتهاء الحدث (غير شامل). بالنسبة إلى حدث متكرّر، يكون هذا هو وقت انتهاء المثال الأول. |
recurrence[] |
قائمة بأسطر RRULE وEXRULE وRDATE وEXDATE لحدث متكرّر، كما هو محدّد في RFC5545. يُرجى العِلم أنّه لا يُسمح باستخدام سطرَي DTSTART وDTEND في هذا الحقل، بل يتم تحديد وقتَي بدء الحدث وانتهائه في حقلَي البدء والانتهاء. يتم حذف هذا الحقل للأحداث الفردية أو مثيلات الأحداث المتكررة. |
recurringEventId |
بالنسبة إلى مثيل لحدث متكرّر، هذا هو معرّف الحدث المتكرّر الذي ينتمي إليه هذا المثيل. غير قابل للتغيير |
originalStartTime |
بالنسبة إلى نسخة من حدث متكرّر، هذا هو الوقت الذي سيبدأ فيه هذا الحدث وفقًا لبيانات التكرار في الحدث المتكرّر الذي تم تحديده بواسطة recurringEventId. يحدّد هذا المعرّف بشكل فريد الموعد ضمن سلسلة الأحداث المتكرّرة حتى إذا تم نقل الموعد إلى وقت مختلف. غير قابل للتغيير |
transparency |
تحديد ما إذا كان الحدث يحظر وقتًا في التقويم اختياريّ. القيم المحتملة هي:
|
visibility |
تمثّل هذه السمة مستوى رؤية الحدث. اختياريّ. القيم المحتملة هي:
|
attendees[] |
تمثّل هذه السمة المشاركين في الفعالية. |
eventType |
نوع الحدث المحدّد. لا يمكن تعديل هذا الخيار بعد إنشاء الحدث. القيم المحتملة هي:
|
conferenceUrl |
رابط Google Meet الخاص بالحدث |
colorId |
رقم تعريف لون الحدث (السلسلة
في "تقويم Google"، تعمل ألوان الأحداث كفئات يمكن ضبطها لكل حدث أو لكل سلسلة أحداث. يمكن للمستخدمين تعيين تصنيفات مخصّصة للألوان في واجهة المستخدم على الويب (مثل |
overrideReminders[] |
تذكيرات محدّدة لهذا الحدث، مع تجاهل التذكيرات التلقائية للتقويم في حال عدم ضبط هذه السياسة، يتم استخدام التذكيرات التلقائية في التقويم. |
أساسي
| تمثيل JSON |
|---|
{ "email": string, "displayName": string, "self": boolean } |
| الحقول | |
|---|---|
email |
عنوان البريد الإلكتروني للكيان الذي يمكن المصادقة عليه (التقويم) |
displayName |
تمثّل هذه السمة اسم مدير المدرسة، إذا كان ذلك منطبقًا. |
self |
تُستخدَم لتحديد ما إذا كان هذا العنصر الأساسي يتوافق مع التقويم الذي تظهر فيه هذه النسخة من الحدث. للقراءة فقط. القيمة التلقائية هي False. |
DateOrDateTime
| تمثيل JSON |
|---|
{ "date": string, "dateTime": string, "timeZone": string } |
| الحقول | |
|---|---|
date |
تمثّل هذه السمة تاريخًا بتنسيق ISO 8601 في منتصف الليل بالتوقيت العالمي المنسّق، مثل |
dateTime |
طابع زمني بتنسيق ISO 8601، مثل |
timeZone |
اسم المنطقة الزمنية TZDB إذا كان متاحًا |
المشارِك
| تمثيل JSON |
|---|
{ "id": string, "email": string, "displayName": string, "organizer": boolean, "self": boolean, "resource": boolean, "optionalAttendee": boolean, "responseStatus": string, "comment": string, "additionalGuests": integer } |
| الحقول | |
|---|---|
id |
معرّف الملف الشخصي للمشارك، إذا كان متاحًا |
email |
عنوان البريد الإلكتروني للمشارِك، إذا كان متاحًا يجب توفُّر هذا الحقل عند إضافة مشارِك. يجب أن يكون عنوان بريد إلكتروني صالحًا وفقًا لمعيار RFC5322. مطلوبة عند إضافة ضيف. |
displayName |
تمثّل هذه السمة اسم المشارك، إذا كان ذلك متاحًا. اختياريّ. |
organizer |
تُستخدَم لتحديد ما إذا كان المشارِك هو المنظّم للحدث. للقراءة فقط. القيمة التلقائية هي False. |
self |
تُستخدَم لتحديد ما إذا كان هذا الإدخال يمثّل التقويم الذي تظهر فيه هذه النسخة من الحدث. للقراءة فقط. القيمة التلقائية هي False. |
resource |
تُستخدَم لتحديد ما إذا كان المشارِك عبارة عن مورد. لا يمكن ضبطها إلا عند إضافة المشارِك إلى الحدث للمرة الأولى. ويتم تجاهل التعديلات اللاحقة. اختياريّ. القيمة التلقائية هي False. |
optionalAttendee |
تُستخدَم لتحديد ما إذا كان الضيف اختياريًا. اختياريّ. القيمة التلقائية هي False. |
responseStatus |
تمثّل هذه السمة حالة استجابة الضيف. القيم المحتملة هي:
|
comment |
تعليق رد الضيف اختياريّ. |
additionalGuests |
عدد الضيوف الإضافيين اختياريّ. القيمة التلقائية هي 0. |
التعليقات التوضيحية للأدوات
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌