# Google Calendar

* [كيفية إنشاء حساب خدمة](#how-to-create-a-service-account)
* [كيفية تنزيل ملف المفتاح](#how-to-download-the-key-file)
* [كيفية العثور على معرّف التقويم](#how-to-find-the-calendar-id)
* [كيفية إنشاء تقويم جديد](#how-to-create-a-new-calendar)
* [كيفية الحصول على معلومات حول التقويم](#how-to-get-the-information-about-the-calendar)
* [كيفية الحصول على قائمة تقاويم حساب الخدمة](#how-to-get-the-list-of-the-service-accounts-calendars)
* [كيفية العمل مع الأحداث](#how-to-work-with-events)

## كيفية إنشاء حساب خدمة

لأجل هذا، تحتاج إلى إنشاء حسابك الخاص في خدمات Google.

اذهب إلى [**هذا الرابط**](https://console.developers.google.com/cloud-resource-manager) وقم بإنشاء مشروع جديد:

![](https://lh5.googleusercontent.com/NG1WV05Itj6EeCf1J9zBHYqC8ZbDqXGaHpdLex4KIfUL42orPsIcFxxFfPMzqR2kJ-GU4F3d0aoLZYcjSmSzwTtmujFcCMHdp6YGTU6RcYoo4xvquTEmTvXIt238pJ_ZZHLaZ1kjr9OSrbj_sQ)

فكّر في اسم للمشروع:

![](https://lh6.googleusercontent.com/-DGrD4022xKo01cvjPWcoADnzpk5xsneUOQy_04I6hIUXiDRrJvQTw8ZPZVuhz5dTbZ3FgBsOHaP_IuBWS3UcsidNYWePfPk0SThtOGFFJ192mzgerDv_SGzmzCJTlZjC6e-97rHn_PXJL9JsA)

اضغط على «إنشاء» وانتظر قليلًا بينما يتم إنشاء المشروع.

أعد تحميل الصفحة ثم اضغط على المشروع الذي تم إنشاؤه للتو. تحقّق في الحقل على اليسار من حالة وصولك - يجب أن تظهر «المالك (1)»:

![](https://lh6.googleusercontent.com/9muFuGGA7dUF3bHo-GZa-XB8NyzclfD5q8iGAigEwUH_2MvBoHgzqyuoeP4drSlh2Zx0ASELNDLq_GKhc4UcQVdVZ6PhIZDd4tGGcTB_3haklI729SkI-2HvIUByewnDBzbfUtkUPIJr0UzF_Q)

الآن انتقل إلى إعدادات حساب الخدمة:

![](https://lh5.googleusercontent.com/Q45Aug6B6BY2jJkJJxCXLqh7YrFYmR9Zp1KeVQy0x14ZkznGbVrIXzA_awcNsw7Yc5Aa_SFQ2xK0gB3qeZMT1YPTR6VF6eQ6ssxweXhrvZSwhgOrUlsOh0YQPMxl3IXr6JdGfAHPeGUMDO5wdQ)

هناك تحتاج إلى فتح قسم «حسابات الخدمة» والضغط على «+ إنشاء حساب خدمة»:

![](https://lh5.googleusercontent.com/9KCh-Y4hP2xAubjCTQ9wK3V5lwYDNSGhCRVtc7TzQl5xsfBBKQrUR8kHq2YCFafMGh9asbDOQL_JgYlHUediL17wf8X42hTFJWt3LQnOYi10jEZOvBvv5pYsDUKKqHtr-fkVfHQTNz7johCoaQ)

أدخل اسم حساب الخدمة وبريده الإلكتروني:

![](https://lh6.googleusercontent.com/Oo5EpjcAEAhisFjWhGxEk7zBuo3TqHuyfNXWL_BatusaULn-U8qE-38mnEToYoOJZk6o24JccBBVVAha0CU6ZFvEOu8H-rculhxerQnB9yI5vBmnpSm1EyBg4LtVCCwUDMI52mdz503Q9qxODg)

ثم اختر دور المالك:

![](https://lh4.googleusercontent.com/V3ndP4Csp309f2aAvvzPNGad2NQQNZEOrMFSYw5bqFeqEVBt-SAJpr6SI48Yn8JQmYmu20wZ8HjTBNSWaVsunMGT40RE1WnzuJojbJ0Iwcbt8EYIXKt_131lfi_r-Iibu3oaPLTT5ltaHos6tQ)

اضغط على «تم» ثم على «إدارة المفاتيح» في المشروع المختار. ثم اضغط على «إنشاء مفتاح جديد»

![](https://lh4.googleusercontent.com/mvdV7hP-TSK-Kvr0aHm76l8I4ddetWVXYskOKYa6La3Xp7rwUuw3tP553hBRUENFepzriZsX67C9ve5hKU7iR6lBz2jg6PVTf2DYSrI7JZGSBMaz8dhBp6Zpjx47d8hLjiGkfVDFOi7kG8nQ6g)

اختر نوع المفتاح JSON واضغط على «إنشاء»

![](https://lh5.googleusercontent.com/JxAPsYM4zEjFmFbuXDnqVZQmmgHiEqtl-jMO4vmQqu8WyHssEN3Upm43xzcZNkYXNRbln0MuqAZQq76xNi99Nqj73aqgwxfBUGaYKtIvU9or0ukkm-RpBz3qPqpt4SsAdrkuo5PiLIQ0YGuM_Q)

بعد إنشاء المفتاح، يتم حفظه تلقائيًا على جهاز الكمبيوتر الخاص بك

![](https://lh4.googleusercontent.com/kyAdhhQobVvR9HcexWGzBlFckXTZ-L82kSbEkCakbMld65KmtrjsXl2SgwldU77XNNaLsrN3YMlLPOr2WpLCk-KomTdiOMCossSkRTYKdp1VflZad1rEzOiSGj-y-dFnNuTRc7kz4C7hnFPgug)

ثم تحتاج إلى تنزيله إلى الاستضافة أو إلى Salebot ومشاركة الرابط إليه في معلمات الطلب عبر مشاركة عنوان URL الذي تم الحصول عليه في المعلمة creds\_path.

الآن تحتاج أيضًا إلى إضافة تكاملات API الخاصة بنا. للقيام بذلك، اذهب هنا:

![](https://lh3.googleusercontent.com/7DPiPASSAdgFU9O5I7laKm9aQkEtvrq2ADlFTMUeu95OSQw26TS8hhAmWNgvw4oXClgElmHKEVHw6y7YsGYPTL5MhB8WSk9EycEz2F2yCO_GM-AcIdPGujVCieUu7nE1cFEzf9WlmxPpF07o1w)

ثم تحتاج إلى تفعيل APIs والخدمات والبحث عن Google Calendar API في النافذة المفتوحة:

![](https://lh6.googleusercontent.com/gLQvQQjADGonjX1uL3kIVIte6chCYzjmDmob5flHdzpUIkBLKF5oenob2Att_5b6Tu4fHZNsk7-adfizosbqEwvGjHiWKB_tZKr5Y2L3b831PqEHVkt12ggpxS_3Csw9fdW--atRK2sAXNkV7Q)

اضغط على نتيجة البحث ثم على «تفعيل»:

![](https://lh5.googleusercontent.com/3LpS3U0TyFp3QORLenGiy0924zXuQGNhePDobY8Xz5asuf7sYXJAHNHsuMJXyugngMoVRu0r73YSxDkbWCbYLYgXFRucxvCrEruxFUmy9pKGr6Rl0CGp0QLSbUkNe9duyb6W2WSGqlym9BF95g)

تُكمل هذه الخطوة إنشاء حساب الخدمة الخاص بك.

## كيفية تنزيل ملف المفتاح

انتقل إلى المشروع على Salebot وقم بتنزيل ملف المفتاح الذي تم الحصول عليه داخل كتلة، على سبيل المثال، هكذا:

![](https://lh6.googleusercontent.com/Ru3wFP-gmQjC-np0U4tUJoYHfKUx4bQEq3sR5QvbIefpZxgT8P9DjjdBsdzJejElBCnDURleohA7ekpEyB7-N2Ha7emTYNHY7-_R6pWzpPCblVHEs6lMiYhYWyRLxzk_QYPrsk9BQQ09MPxm1Q)

اضغط على «حفظ» وانتقل إلى نافذة الاختبار المجانية:

![](https://lh3.googleusercontent.com/GWgWz8uGZmRyo7oUIt1Hh32y-aPypPIveRuPnbrVut6wbiPPwzzob8vc8slphEjjZMFH5uZwdKokVGMq72nipIs32u4kOal-4EHKkcePLX1JDdUWra1l4SEvhzx-c8_O4uhRXwtTg-q4JCrm2A)

أدخل العبارة التي ضبطتها كشرط (في هذه الحالة هي «123»). ستحصل على رابط إلى الملف الذي يحتوي على المفاتيح كإجابة:

![](https://lh5.googleusercontent.com/Fdpb36HCVWJteTrSoID1LFotJsYNDsQrE_uyyYsvMe0Iy6NNR_djCaKS8Kf9O_XLtb8KMGQL9tHl7aOhHrANj4D7108Qx6bRPj8wN5HKMH5RXLavLkrNyeEwqzgi5OyzrXAYbamr6VuDhpmJvg)

{% hint style="danger" %}
لا يمكنك حذف الكتلة، وإلا فسيتم حذف الملف من الخادم وسيتعين عليك إضافته مرة أخرى.
{% endhint %}

لا تنسَ أن تجعل الكتلة من نوع الحالة Not، حتى لا تزعجك.

![](https://lh4.googleusercontent.com/rfNCUwnEr-FN-CCEnzeDCxrB1eqnTbUUUnLOmQkipoVzHmsCf56AM0-UtAWZWe0EhWFVMX-s9vFXTMrl78XT2bcJijvYptrTSE2kvpXWJUB3vF8BvlnDX_gjndY_UPDzGYYvnCfeUe2td8A87g)

يمكنك حفظ هذا الرابط في متغيّر أو تمريره كما هو في المعلمة creds\_path.

## كيفية العثور على معرّف التقويم

يمكنك العثور على معرّف التقويم الموجود في إعداداته في قسم «دمج التقويم»:

![](https://lh6.googleusercontent.com/ssPqnz_cQlA8v2pCzXmcaOC0tagTVBDV4Vyd-9UqvQF4VjbXyroqkwkwO6IaXOv-x0vOP3bAem5aB_vsdg9kemyO-n6quLhGf88a_5B62n1iJAIOOXwDTkmRAAv1rPGlwLM0Yx-1iH-lKnFuzg)

## كيفية إنشاء تقويم جديد

يمكنك إنشاء تقويم جديد بإحدى طريقتين: يدويًا أو باستخدام دالة.

### إنشاء تقويم يدويًا:

![](https://lh4.googleusercontent.com/P49fLaIHyOh-0-FcQWdFBN5UygV9a-Tq6_92Q3Sn0ln5u1Sb7LmIDz88tKfDiRv1nTb7cofbFoi9Q_mdNk-Ol0Qt01MAd5HwfxIM9_pcifEIAwhWy_9eskUYVG8E7a4IfsVBNlCo0C2j_t8MPw)

حتى تتمكن من إضافة ملاحظات وتعديل تقويم موجود (أو تم إنشاؤه يدويًا)، يجب أن تمنح الوصول لحساب الخدمة. للقيام بذلك، ما عليك سوى إضافة البريد الإلكتروني لحساب الخدمة في إعدادات التقويم المطلوب:

![](https://lh4.googleusercontent.com/hQLBvQk36xq20jXLPWzLdNXWoSEXHj2qMshjZxQTGKneJj4H-HUy2Ekz3WJ5y5aVbGyfmE6-YQm-TIAqNwze_kFGhncbrWHLpnljDYaSDz8EXJ-Za3OutS9rIdJVgxpuHZZdXrdmQlUZ5iUUtg)

### إنشاء التقويم باستخدام دالة

**عنوان URL للدالة**: <https://store.salebot.ai/function/gcalendar> \
**نوع الطلب**: POST-json

**المعلمات**:

**creds\_path** - رابط مفتاح الوصول لحساب الخدمة إلى واجهة برمجة تطبيقات التقويم (تم الحصول عليه باستخدام التعليمات أعلاه); \
**الأمر** - create \
**name** - اسم التقويم \
**description** - وصف التقويم

**معلمات إضافية**:

**time\_zone** - المنطقة الزمنية للتقويم.  معرّف المنطقة الزمنية IANA. افتراضيًا هو Europe/Moscow (GMT+3) \
**location** - موقع جغرافي للتقويم كنص بصيغة حرة

يمكنك أيضًا منح الوصول إلى حساب مختلف، على سبيل المثال، حسابك الرئيسي:

**owner\_email** - البريد الإلكتروني للحساب الذي تتم إضافته كمالك للتقويم

{% hint style="warning" %}
افتراضيًا، سيتم إنشاء التقويم في حساب الخدمة. ولكي تتمكن من تعديل التقويم بصريًا من حسابك الخاص، انقل بريدك الإلكتروني في المعلمة owner\_email.
{% endhint %}

**القيم المخزنة** من ردّ JSON

بعد التنفيذ الناجح، تُرجع الدالة هذه المعلمات التالية التي يمكنك حفظها وتخزينها:

`{'kind': 'calendar#calendar', 'etag': '"WgASl9FY_5zrEmCZvrt4Qlh6tGQ"', 'id': '7e2q3mka5dmfmcohdltfupclj4@group.calendar.google.com', 'summary': 'اسم التقويم’', 'timeZone': 'UTC'}`

لنحفظ معرّف التقويم الذي تم إنشاؤه: `id -> calendar_id`&#x20;

![](https://lh6.googleusercontent.com/64BZuVj1APwealP0nIEY5gb_9I4ZV9gLApOEIbRhYYzIGSg2wKza1OggKASRFBOnSDkghoINjH2SKnXAUxFrA-i02kmtz5BrSqV2n0OS_7_dbNvQuLBhh3PsrQ8Qc7_KhqOshVf3JhaV6O_m-w)

للاختبار، يمكنك عرض المتغير #{custom\_answer}.

إذا تم تمرير البريد الإلكتروني (owner\_email)، فبعد الطلب الناجح، يلزم الانتقال إلى صندوق البريد الإلكتروني الخاص بك وتأكيد إضافة التقويم إلى حسابك:

![](https://lh6.googleusercontent.com/Vt4Z3gvrMcWZDcR1FIjQdcJCJu8KnP9p3AXtWfW0D6LAjSrsdjd05pwjgeEivQl6f3Su7KEgOVLp4-usk1GiLwijbNA8rYW1kimicScJLI6cxj1lP3ezShCEVxeI-3_JoO-fo6NSrbUQIehWgw)

![](https://lh6.googleusercontent.com/tPzJigwrYpHh3MD3c-zX2rP32sHT_VM1Y6l-uebqvb2XUntTkiXNlAWex79NzZZuw3FxjAJZRtrXah9N-cqLjonAX0LhXhuJ7cTIb-UdfmM0auYaXnOQTQYP9QTNouQHFY5fsHtviWvpSgZKIw)

## كيفية الحصول على معلومات حول التقويم

**عنوان URL للدالة**: <https://store.salebot.ai/function/gcalendar> \
**نوع الطلب**: POST-json

**المعلمات**:

**creds\_path** - رابط مفتاح الوصول لحساب الخدمة إلى واجهة برمجة تطبيقات التقويم (تم الحصول عليه باستخدام التعليمات أعلاه); \
**الأمر** - get\_calendar; \
**calendar\_id** - معرّف التقويم المختار

**القيم المخزنة**

بعد التنفيذ الناجح، تُرجع الدالة هذه المعلمات التالية التي يمكنك حفظها وتخزينها.

رابط **example** من ردّ الدالة:

`{'kind': 'calendar#calendar', 'etag': '"6KN4OTLeoqGGu7Nr5uNIQgCGYsU"', 'id': 'rcdd8mimc6gjtasan9ansn8354@group.calendar.google.com', 'summary': 'اسم التقويم', 'timeZone': 'UTC'}`

## كيفية الحصول على قائمة تقاويم حساب الخدمة

**عنوان URL للدالة**: <https://store.salebot.ai/function/gcalendar> \
**نوع الطلب**: POST-json

**المعلمات**:

**creds\_path** - رابط مفتاح الوصول لحساب الخدمة إلى واجهة برمجة تطبيقات التقويم (تم الحصول عليه باستخدام التعليمات أعلاه); \
**الأمر** - calendars\_list

**القيم المخزنة**

بعد التنفيذ الناجح، تُرجع الدالة هذه المعلمات التالية التي يمكنك حفظها وتخزينها.

رابط **example** من ردّ الدالة:

`{` \
&#x20;  `'kind': 'calendar#calendarList',` \
&#x20;  `'etag': '"p32o8pm47rfqf20g"',`\
&#x20;  `'nextSyncToken': 'CLCM2Ifb9PECEi5nc2hlZXRzQGdzaGVldHMtMjU0NzEzLmlhbS5nc2VydmljZWFjY291bnQuY29t',` \
&#x20;  `'items': [` \
&#x20;    `{` \
&#x20;      `'kind': 'calendar#calendarListEntry',` \
&#x20;      `'etag': '"1625235372775000"',` \
&#x20;      `'id': '74u4aogu34hisgvi9v0pjriqho@group.calendar.google.com',` \
&#x20;      `'summary': 'AAAAAAAAaa',` \
&#x20;      `'timeZone': 'Asia/Singapore',` \
&#x20;      `'colorId': '17',` \
&#x20;      `'backgroundColor': '#9a9cff',` \
&#x20;      `'foregroundColor': '#000000',` \
&#x20;      `'selected': True,` \
&#x20;      `'accessRole': 'owner',` \
&#x20;      `'defaultReminders': [` \
&#x20;     `]` \
&#x20;  `},` \
&#x20;  `{` \
&#x20;    `'kind': 'calendar#calendarListEntry',` \
&#x20;    `'etag': '"1625235805096000"',` \
&#x20;    `'id': '5u9q24kdh571mnm667t2d3q16c@group.calendar.google.com',` \
&#x20;    `'summary': 'AAAAAAAAaa',` \
&#x20;    `'timeZone': 'Asia/Singapore',` \
&#x20;    `'colorId': '21',` \
&#x20;    `'backgroundColor': '#cca6ac',` \
&#x20;    `'foregroundColor': '#000000',` \
&#x20;    `'selected': True,` \
&#x20;    `'accessRole': 'owner',` \
&#x20;    `'defaultReminders': [`\
&#x20;    `]` \
&#x20;   `}` \
&#x20; `]` \
`}`

## كيفية العمل مع الأحداث

### إضافة حدث بسرعة

**عنوان URL للدالة**: <https://store.salebot.ai/function/gcalendar> \
**نوع الطلب**: POST-json

**المعلمات**:

**creds\_path** - رابط مفتاح الوصول لحساب الخدمة إلى واجهة برمجة تطبيقات التقويم (تم الحصول عليه باستخدام التعليمات أعلاه); \
**الأمر** - quick\_add\_event; \
**calendar\_id** - معرّف التقويم المختار;\
**event\_name** - اسم الحدث

رابط **example** من المعلمات:

`{"creds_path": "https://files.salebot.ai/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json", "calendar_id": "i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com", "command": "quick_add_event","event_name": "Incredible Event"}`

**القيم المخزنة**

بعد التنفيذ الناجح، تُرجع الدالة هذه المعلمات التالية التي يمكنك حفظها وتخزينها. ولتمكين تعديل الحدث الذي تم إنشاؤه لاحقًا، يُنصح بحفظ معرّفه: id -> event\_id.

رابط **example** من ردّ الدالة:

`{`\
`'kind': 'calendar#event',` \
`'etag': '"3253879667088000"',` \
`'id': 'ljp7a3ocp8oorbov9u2cq221s0',` \
`'status': 'confirmed',` \
`'htmlLink': 'https://www.google.com/calendar/event?eid=bGpwN2Ezb2NwOG9vcmJvdjl1MmNxMjIxczAgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw',` \
`'created': '2021-07-22T07:43:53.000Z',` \
`'updated': '2021-07-22T07:43:53.544Z',` \
`'creator': {'email': 'gsheets@gsheets-254713.iam.gserviceaccount.com'},` \
`'organizer': {'email': 'i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com',` \
`'displayName': 'Testov',` \
`'self': True},` \
`'start': {'dateTime': '2021-07-22T07:43:53Z', 'timeZone': 'UTC'},` \
`'end': {'dateTime': '2021-07-22T08:43:53Z', 'timeZone': 'UTC'},` \
`'iCalUID': 'ljp7a3ocp8oorbov9u2cq221s0@google.com',` \
`'sequence': 0,` \
`'reminders': {'useDefault': True},` \
`'eventType': 'default'`\
`}`

![](/files/2a260d7291f9c7a84bf34231f08de16d10c8f389)

### كيفية إضافة حدث

**عنوان URL للدالة**: <https://store.salebot.ai/function/gcalendar> \
**نوع الطلب**: POST-json

#### المعلمات:

**creds\_path** - رابط مفتاح الوصول لحساب الخدمة إلى واجهة برمجة تطبيقات التقويم (تم الحصول عليه باستخدام التعليمات أعلاه); \
**الأمر** - add\_event \
**calendar\_id** - معرّف التقويم المختار \
**event\_name** - اسم الحدث

تحتاج أيضًا إلى تحديد أحد خيارين للمعلمة: التاريخ أو التاريخ والوقت.

إذا كان الحدث يحدث طوال اليوم، فعليك تحديد التواريخ:

1. **start\_date** - تاريخ بدء الحدث بصيغة DD.MM.YYYY (مثال: 23.07.2010)
2. **end\_date** - تاريخ انتهاء الحدث بصيغة DD.MM.YYYY (مثال: 24.07.2010)

إذا كان الحدث يحدث خلال وقت محدد، فعليك تحديد التاريخ والوقت:

1. start\_datetime - تاريخ ووقت بدء الحدث بصيغة DD.MM.YYYY HH:MM (مثال: 23.07.2010 12:00)
2. end\_datetime - تاريخ ووقت انتهاء الحدث بصيغة DD.MM.YYYY HH:MM (مثال: 23.07.2010 13:00)
3. time\_zone - المنطقة الزمنية للحدث. معرّف المنطقة الزمنية IANA. افتراضيًا، هي Europe/Moscow (GMT+3)

{% hint style="info" %}
إذا كانت المنطقة الزمنية للتقويم والمنطقة الزمنية للحدث مختلفتين، فسيتم إضافة الحدث ذو الوقت إلى المنطقة الزمنية للتقويم.
{% endhint %}

مثال:

التقويم في المنطقة الزمنية (tz) Europe/Kyiv +3، ويتم إضافة الحدث بالمنطقة الزمنية Europe/Berlin +2. سيتم إضافة وقت الحدث 12pm (tz +2) إلى التقويم على أنه 1pm، لأن 1pm في توقيت كييف يساوي 12pm في المنطقة الزمنية +2.

**معلمات إضافية:**

**event\_description** - وصف الحدث \
**location** - الموقع الجغرافي للحدث كنص حر \
**email\_minutes** - الوقت بالدقائق قبل الحدث لإرسال إشعار إلى بريد المشاركين الإلكتروني \
**popup\_minutes** - الوقت بالدقائق قبل الحدث لإرسال إشعار إلى المشاركين كنافذة منبثقة

مثال على المعلمات:

`{"creds_path": "https://files.salebot.ai/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json", "calendar_id": "i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com", "command": "add_event", "event_name": "The greatest event of all time", "start_datetime": "27.07.2021 12:00", "end_datetime": "27.07.2021 14:00"}`

#### القيم المخزنة من ردّ JSON:

بعد التنفيذ الناجح، تُرجع الدالة هذه المعلمات التالية التي يمكنك حفظها وتخزينها.

لتعديل الحدث الذي تم إنشاؤه لاحقًا، يُنصح بحفظ معرّفه:

**id -> event\_id**

#### مثال على ردّ الدالة:

`{'kind': 'calendar#event', 'etag': '"3254057128970000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T08:22:53.109Z', 'summary': 'New Event44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': 'gsheets@gsheets-254713.iam.gserviceaccount.com'}, 'organizer': {'email': 'i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com', 'displayName': ‘Test’, 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Kyiv}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Kyiv}, 'iCalUID': 'ittr5291ppi7snapn8jbct5krs@google.com', 'sequence': 0, 'attendees': [{'email': john@gmail.com', 'displayName': John, 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default'}`

![](https://lh4.googleusercontent.com/KVPS5xulK5hFYLTI9tsbvwd51rbH-FkxXMWArUuUNvTfTD-hTq486q4KSQvO45JqCet3U9wmrB65dwrSsOJQTeTxmt47tV5Jh1Qx6Wsri5cPW47QOohuwHY1rDdF7_G-hPNe8-xuCtEDY-rbIg)

### تحرير الحدث

**عنوان URL للدالة**: <https://store.salebot.ai/function/gcalendar\\>
**نوع الطلب**: POST-json

#### المعلمات الإلزامية:

**creds\_path** - رابط مفتاح الوصول لحساب الخدمة إلى واجهة برمجة تطبيقات التقويم (تم الحصول عليه باستخدام التعليمات أعلاه); \
**الأمر** - update\_event; \
**calendar\_id** - معرّف التقويم; \
**event\_id** - معرّف الحدث الذي تحتاج إلى تعديله

**المعلمات الاختيارية** للتحديث:

يمكنك تمرير معلمة واحدة، وكذلك عدة معلمات.

**event\_name** - اسم الحدث \
**event\_description** - وصف الحدث \
**email\_minutes** - الوقت بالدقائق قبل الحدث لإرسال إشعار إلى بريد المشاركين الإلكتروني \
**popup\_minutes** - الوقت بالدقائق قبل الحدث لإرسال إشعار إلى المشاركين كنافذة منبثقة

إذا كان الحدث يحدث طوال اليوم، فعليك تحديد التواريخ:

**start\_date** - تاريخ بدء الحدث بصيغة DD.MM.YYYY (مثال: 23.07.2010) \
**end\_date** - تاريخ انتهاء الحدث بصيغة DD.MM.YYYY (مثال: 24.07.2010)

إذا كان الحدث يحدث خلال وقت محدد، فعليك تحديد التاريخ والوقت:

**start\_datetime** - تاريخ ووقت بدء الحدث بصيغة DD.MM.YYYY HH:MM (مثال: 23.07.2010 12:00) \
**end\_datetime** - تاريخ ووقت انتهاء الحدث بصيغة DD.MM.YYYY HH:MM (مثال: 23.07.2010 13:00) \
**time\_zone** - المنطقة الزمنية للحدث. معرّف المنطقة الزمنية IANA. افتراضيًا، هي Europe/Moscow (GMT+3)

مثال على المعلمات:

`{"creds_path": "https://files.salebot.ai/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json", "calendar_id": "i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com", "event_id": "j1lcpm4q2p9c0cv705alv3brug", "command": "update_event", "event_name": "Edited event", "start_datetime": "27.07.2021 12:00", "end_datetime": "27.07.2021 14:00","popup_minutes": "11","email_minutes": "22"}`

#### القيم المخزنة من ردّ JSON:

بعد التنفيذ الناجح، تُرجع الدالة هذه المعلمات التالية التي يمكنك حفظها وتخزينها.

#### مثال على ردّ الدالة:

`{"kind":"calendar#event","etag":""3276713558524000"","id":"j1lcpm4q2p9c0cv705alv3brug","status":"confirmed","htmlLink":"https://www.google.com/calendar/event?eid=ajFsY3BtNHEycDljMGN2NzA1YWx2M2JydWcgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw","created":"2021-12-01T10:40:11.000Z","updated":"2021-12-01T10:43:16.738Z","summary":"Amazing","creator":{"email":"gsheets@gsheets-254713.iam.gserviceaccount.com"},"organizer":{"email":"i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com","displayName":"Test","self":true},"start":{"dateTime":"2021-12-28T09:00:00Z","timeZone":"Europe/Moscow"},"end":{"dateTime":"2021-12-29T11:00:00Z","timeZone":"Europe/Moscow"},"iCalUID":"j1lcpm4q2p9c0cv705alv3brug@google.com","sequence":0,"reminders":{"useDefault":false,"overrides":[{"method":"email","minutes":22},{"method":"popup","minutes":12}]},"eventType":"default","update_status":"ok"}`

### الحصول على قائمة بالأحداث

**عنوان URL للدالة**: <https://store.salebot.ai/function/gcalendar> \
**نوع الطلب**: POST-json

#### المعلمات:

**creds\_path** - رابط مفتاح الوصول لحساب الخدمة إلى واجهة برمجة تطبيقات التقويم (تم الحصول عليه باستخدام التعليمات أعلاه); \
**الأمر** - get\_event\_list;\
**calendar\_id** - معرّف التقويم

إذا لم تمرّر معلمات إضافية، فستكون النتيجة قائمة بأحداث اليوم

**معلمات إضافية:**

**start\_date** - التاريخ الذي تريد البحث عن الأحداث ابتداءً منه بصيغة DD.MM.YYYY (23.07.2021) \
**end\_date** - التاريخ الذي تريد البحث عن الأحداث حتى وصولًا إليه بصيغة DD.MM.YYYY (24.07.2021)

مثال على المعلمات:

سيتم العثور على حدث 23 يوليو

`{"creds_path": "https://files.salebot.ai/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json", "calendar_id": "i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com", "command": "get_event_list", "start_date": "22.07.2021", "end_date": "23.07.2021"}`

#### القيم المخزنة من ردّ JSON:

بعد التنفيذ الناجح، تُرجع الدالة هذه المعلمات التالية التي يمكنك حفظها وتخزينها.

يمكن حفظ قائمة الأحداث التي تم العثور عليها في متغير:

**items -> event\_list**

#### مثال على ردّ الدالة:

`{'kind': 'calendar#events', 'etag': '"p33odnesrinsv20g"', 'summary': 'Test', 'description': 'Test description', 'updated': '2021-07-23T12:13:05.686Z', 'timeZone': 'UTC', 'accessRole': 'owner', 'defaultReminders': [], 'items': [{'kind': 'calendar#event', 'etag': '"3254084771372000"', 'id': '6d8rocb9e2r21ue37jgsa0v06i', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=NmQ4cm9jYjllMnIyMXVlMzdqZ3NhMHYwNmkgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T12:11:13.000Z', 'updated': '2021-07-23T12:13:05.686Z', 'summary': 'DDDDDDDDD', 'creator': {'email': 'adnimdd@gmail.com'}, 'organizer': {'email': 'i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com', 'displayName': 'Testov', 'self': True}, 'start': {'date': '2021-07-20'}, 'end': {'date': '2021-07-21'}, 'transparency': 'transparent', 'iCalUID': '6d8rocb9e2r21ue37jgsa0v06i@google.com', 'sequence': 0, 'reminders': {'useDefault': False}, 'eventType': 'default'}]}`

### كيفية نقل الأحداث إلى تقويم مختلف

**عنوان URL للدالة**: <https://store.salebot.ai/function/gcalendar> \
**نوع الطلب**: POST-json

#### المعلمات:

**creds\_path** - رابط مفتاح الوصول لحساب الخدمة إلى واجهة برمجة تطبيقات التقويم (تم الحصول عليه باستخدام التعليمات أعلاه); \
**الأمر** - move\_event; \
**calendar\_id** - معرّف التقويم الذي يُنقل منه الحدث;\
**event\_id** - معرّف الحدث; \
**destination\_calendar\_id** - معرّف التقويم الذي يُنقل إليه الحدث;

#### القيم المخزنة من ردّ JSON:

بعد التنفيذ الناجح، تُرجع الدالة هذه المعلمات التالية التي يمكنك حفظها وتخزينها.

#### مثال على ردّ الدالة:

`{'kind': 'calendar#event', 'etag': '"3253880350568000"', 'id': 'ljp7a3ocp8oorbov9u2cq221s0', 'status': 'cancelled', 'htmlLink': 'https://www.google.com/calendar/event?eid=bGpwN2Ezb2NwOG9vcmJvdjl1MmNxMjIxczAgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-22T07:43:53.000Z', 'updated': '2021-07-22T07:49:35.284Z', 'creator': {'email': 'gsheets@gsheets-254713.iam.gserviceaccount.com'}, 'organizer': {'email': '88q8fvkrv5ue7orsh109t6o60s@group.calendar.google.com', 'displayName': 'Тестовый календарь'}, 'start': {'dateTime': '2021-07-22T07:43:53Z', 'timeZone': 'UTC'}, 'end': {'dateTime': '2021-07-22T08:43:53Z', 'timeZone': 'UTC'}, 'iCalUID': 'ljp7a3ocp8oorbov9u2cq221s0@google.com', 'sequence': 0, 'reminders': {'useDefault': True}, 'eventType': 'default'}`

### كيفية الحصول على معلومات حول الحدث

**عنوان URL للدالة**: <https://store.salebot.ai/function/gcalendar> \
**نوع الطلب**: POST-json

#### المعلمات:

**creds\_path** - رابط مفتاح الوصول لحساب الخدمة إلى واجهة برمجة تطبيقات التقويم (تم الحصول عليه باستخدام التعليمات أعلاه); \
**الأمر** - get\_event; \
**calendar\_id** - معرّف التقويم; \
**event\_id** - معرّف الحدث

#### القيم المخزنة من ردّ JSON:

بعد التنفيذ الناجح، تُرجع الدالة هذه المعلمات التالية التي يمكنك حفظها وتخزينها.

#### مثال على ردّ الدالة:

`{'kind': 'calendar#event', 'etag': '"3254067331414000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T11:12:55.553Z', 'summary': 'New Event44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': 'gsheets@gsheets-254713.iam.gserviceaccount.com'}, 'organizer': {'email': 'i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com', 'displayName': 'Test', 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Moscow'}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Moscow'}, 'iCalUID': 'ittr5291ppi7snapn8jbct5krs@google.com', 'sequence': 0, 'attendees': [{'email': 'adnimdd@gmail.com', 'displayName': 'John', 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default'}`

### كيفية حذف حدث

**عنوان URL للدالة**: <https://store.salebot.ai/function/gcalendar> \
**نوع الطلب**: POST-json

#### المعلمات:

**creds\_path** - رابط مفتاح الوصول لحساب الخدمة إلى واجهة برمجة تطبيقات التقويم (تم الحصول عليه باستخدام التعليمات أعلاه); \
**الأمر** - remove\_event; \
**calendar\_id** - معرّف التقويم; \
**event\_id** - معرّف الحدث الذي تريد حذفه

#### القيم المخزنة من ردّ JSON:

بعد التنفيذ الناجح، تُرجع الدالة هذه المعلمات التالية التي يمكنك حفظها وتخزينها.

#### مثال على ردّ الدالة:

`{'status': 'ok'}`

### كيفية إضافة مشارك إلى الحدث

**عنوان URL للدالة**: <https://store.salebot.ai/function/gcalendar> \
**نوع الطلب**: POST-json

#### المعلمات:

**creds\_path** - رابط مفتاح الوصول لحساب الخدمة إلى واجهة برمجة تطبيقات التقويم (تم الحصول عليه باستخدام التعليمات أعلاه); \
**الأمر** - add\_client; \
**calendar\_id** - معرّف التقويم; \
**event\_id** - معرّف الحدث; \
**client\_email** - بريد العميل الإلكتروني الذي تريد إضافته

معلمات إضافية:&#x20;

**name** - اسم الحدث; \
**comment** - تعليق المشارك

**مثال على المعلمات:**

`{` \
`"creds_path": "https://files.salebot.ai/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json",` \
`"calendar_id": "i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com",` \
`"command": "add_client",` \
`"event_id": "#{event_id}",` \
`"client_email": "asdc@mail.com",` \
`"name": "John",` \
`"comment": "سأكون الأول!"` \
`}`

![](https://lh5.googleusercontent.com/8JxiPQ_0jmcLYLgDm342-ZfFX346G_QtephaPBQ6upoh1zWVphAZvve3OtpDM8UgJyreXmxFpkEV0tO6Jq15ECT2nMx-rg1lGpzybwCB4Hnd391H99IQ-hQ6fuEOvU-CRCHw2L74UVXJLHTCfQ)

#### القيم المخزنة من رد JSON:

تُرجع الدالة دائمًا الحالة **add\_status**. ويمكن أن تحمل واحدة من ثلاث قيم:

**ok** - تمت إضافة العميل \
**exist** - العميل موجود بالفعل \
**error** - حدث خطأ أثناء عملية الإضافة، وعندئذٍ بالإضافة إلى add\_status ستكون هناك معلمة error\_message تحتوي على نص الخطأ

#### مثال على رد الدالة في حال النجاح:

`{'kind': 'calendar#event', 'etag': '"3254059247409000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T08:58:11.548Z', 'summary': 'New Event44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': 'gsheets@gsheets-254713.iam.gserviceaccount.com'}, 'organizer': {'email': 'i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com', 'displayName': 'Test', 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Moscow'}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Moscow'}, 'iCalUID': 'ittr5291ppi7snapn8jbct5krs@google.com', 'sequence': 0, 'attendees': [{'email': 'adnimdd@gmail.com', 'displayName': 'John', 'responseStatus': 'needsAction'}, {'email': 'adnimd@gmail.com', 'displayName': 'John', 'responseStatus': 'needsAction'}, {'email': 'adnidgmd@gmail.com', 'displayName': 'John2', 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default', ‘add_status’: 'ok'}`&#x20;

### كيفية حذف مشارك

**عنوان URL للدالة**: <https://store.salebot.ai/function/gcalendar> \
**نوع الطلب**: POST-json

#### المعلمات:

**creds\_path** - رابط مفتاح الوصول لحساب الخدمة إلى واجهة برمجة تطبيقات التقويم (تم الحصول عليه باستخدام التعليمات أعلاه); \
**الأمر** - remove\_client; \
**calendar\_id** - معرّف التقويم; \
**event\_id** - معرّف الحدث; \
**client\_email** - البريد الإلكتروني للعميل

#### مثال على المعلمات:

`{` \
`"creds_path": "https://files.salebot.ai/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json",` \
`"calendar_id": "i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com",` \
`"command": "remove_client",` \
`"event_id": "#{event_id}",` \
`"client_email": "asdc@mail.com"` \
`}`

#### القيم المخزنة من رد JSON:

تُرجع الدالة دائمًا الحالة **remove\_status**. ويمكن أن تحمل إحدى القيم الثلاث التالية:

**1** - تمت إزالة العميل بنجاح \
**0** - لم يتم العثور على العميل \
**error** - حدث خطأ أثناء عملية الإزالة، وعندئذٍ بالإضافة إلى remove\_status ستكون هناك معلمة error\_message تحتوي على نص الخطأ

#### إجابة الدالة في حال النجاح:

`{'kind': 'calendar#event', 'etag': '"3254059247409000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T08:58:11.548Z', 'summary': 'New Event44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': 'gsheets@gsheets-254713.iam.gserviceaccount.com'}, 'organizer': {'email': 'i9svertstvoo2fq1o0i8cn39a8@group.calendar.google.com', 'displayName': 'Test', 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Moscow'}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Moscow'}, 'iCalUID': 'ittr5291ppi7snapn8jbct5krs@google.com', 'sequence': 0, 'attendees': [{'email': 'adnimdd@gmail.com', 'displayName': 'John', 'responseStatus': 'needsAction'}, {'email': 'adnimd@gmail.com', 'displayName': 'John', 'responseStatus': 'needsAction'}, {'email': 'adnidgmd@gmail.com', 'displayName': 'John2', 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default', 'remove_status': '1'}`


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/ar/integrations/google/calendar.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
