Events: update

لتعديل حدث. لا تتيح هذه الطريقة دلالات التصحيح وتعمل دائمًا على تحديث مورد الحدث بالكامل. لإجراء تعديل جزئي، نفِّذ get متبوعةً بـ update باستخدام علامات e-tags لضمان نشر صور بشكل كامل. جرِّبه الآن أو شاهد مثالاً.

الطلب

طلب HTTP

PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId

المَعلمات

اسم المعلَمة القيمة الوصف
مَعلمات المسار
calendarId string معرِّف التقويم. لاسترداد معرّفات التقويم، يمكنك استدعاء الطريقة calendarList.list. إذا كنت تريد الوصول إلى التقويم الأساسي للمستخدم المسجّل دخوله حاليًا، استخدِم الكلمة الرئيسية "primary".
eventId string معرّف الحدث
مَعلمات طلب البحث الاختيارية
alwaysIncludeEmail boolean تم التجاهل وتم تجاهله. سيتم دائمًا عرض قيمة في الحقل email للمنظِّم وصانع المحتوى والحاضرين، حتى في حال عدم توفّر عنوان بريد إلكتروني حقيقي (أي سيتمّ تقديم قيمة غير صالحة ومُنشأة).
conferenceDataVersion integer رقم إصدار بيانات مكالمة الفيديو التي يدعمها عميل واجهة برمجة التطبيقات. يفترض الإصدار 0 عدم توفير أي دعم لبيانات المؤتمر ويتجاهل بيانات مكالمة الفيديو في نص الحدث. يتيح الإصدار 1 إمكانية نسخ بيانات ConferenceData وكذلك إنشاء مكالمات فيديو جديدة باستخدام حقل createRequest في مؤتمراتcom. القيمة التلقائية هي 0. القيم المقبولة هي من 0 إلى 1، بشكل شامل.
maxAttendees integer تمثّل هذه السمة الحد الأقصى لعدد الضيوف الذين سيتم تضمينهم في الرد. إذا كان هناك أكثر من العدد المحدّد من الضيوف، يتم عرض المشارك فقط. اختياري.
sendNotifications boolean تمّ الإيقاف. يُرجى استخدام sendUpdates بدلاً من ذلك.

ما إذا كنت تريد إرسال إشعارات حول تحديث الحدث (على سبيل المثال، تغييرات الوصف، وما إلى ذلك). يُرجى العلم أنّه قد يتم إرسال بعض الرسائل الإلكترونية حتى في حال ضبط القيمة على false. والقيمة التلقائية هي false.
sendUpdates string المدعوون الذين ينبغي أن يتلقوا إشعارات حول تحديث الحدث (على سبيل المثال، تغييرات العنوان، وما إلى ذلك).

القيم المقبولة هي:
  • "all": تم إرسال الإشعارات إلى جميع المدعوين.
  • "externalOnly": يتم إرسال الإشعارات إلى المدعوّين الذين لا يستخدمون "تقويم Google" فقط.
  • "none": لم يتم إرسال أي إشعارات. بالنسبة إلى مهام نقل بيانات "تقويم Google"، يمكنك استخدام طريقة Events.import بدلاً من ذلك.
supportsAttachments boolean ما إذا كان تنفيذ عميل واجهة برمجة التطبيقات يتيح استخدام مرفقات الأحداث اختياري. القيمة التلقائية هي False.

التفويض

يتطلب هذا الطلب إذنًا باستخدام نطاق واحد على الأقل من النطاقات التالية:

النطاق
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events

للحصول على مزيد من المعلومات، يُرجى الاطّلاع على صفحة المصادقة والتفويض.

نص الطلب

في نص الطلب، قدم مورد الأحداث بالسمات التالية:

اسم الموقع القيمة الوصف Notes
الخصائص المطلوبة
end nested object وقت انتهاء الحدث (حصري). بالنسبة إلى حدث متكرر، يكون هذا هو وقت انتهاء الحدث الأول.
start nested object وقت بدء الحدث (الشامل). بالنسبة إلى حدث متكرر، يكون هذا هو وقت بدء الحدث الأول.
الخصائص الاختيارية
anyoneCanAddSelf boolean ما إذا كان بإمكان أي شخص دعوة نفسه إلى الحدث (متوقف) اختياري. القيمة التلقائية هي False. قابل للكتابة
attachments[].fileUrl string رابط عنوان URL للمرفق.

لإضافة مرفقات ملفات Google Drive، استخدِم التنسيق نفسه المستخدَم في السمة alternateLink في مورد Files في Drive API.

مطلوبة عند إضافة مرفق.

قابل للكتابة
attendees[] list الحاضرون في الفعالية. يمكنك الاطّلاع على دليل الأحداث مع الضيوف للحصول على مزيد من المعلومات حول جدولة الأحداث مع مستخدمي التقويم الآخرين. يجب أن تستخدم حسابات الخدمة تفويض المرجع على مستوى النطاق لتعبئة قائمة الحضور. قابل للكتابة
attendees[].additionalGuests integer عدد النزلاء الإضافيين اختياري. القيمة التلقائية هي 0. قابل للكتابة
attendees[].comment string التعليق على ردّ الضيف اختياري. قابل للكتابة
attendees[].displayName string اسم الضيف، إذا كان متاحًا اختياري. قابل للكتابة
attendees[].email string عنوان البريد الإلكتروني للضيف، إذا كان متاحًا. يجب أن يكون هذا الحقل متوفرًا عند إضافة ضيف. يجب أن يكون عنوان بريد إلكتروني صالحًا وفقًا لمعيار RFC5322.

مطلوبة عند إضافة ضيف.

قابل للكتابة
attendees[].optional boolean ما إذا كان هذا ضيفًا اختياريًا. اختياري. القيمة التلقائية هي False. قابل للكتابة
attendees[].resource boolean ما إذا كان الضيف موردًا لا يمكن الضبط إلا عند إضافة الضيف إلى الحدث للمرة الأولى. ويتم تجاهل التعديلات اللاحقة. اختياري. القيمة التلقائية هي False. قابل للكتابة
attendees[].responseStatus string حالة ردّ الضيف القيم المتاحة:
  • "needsAction": لم يردّ الضيف على الدعوة (إجراء مقترَح للأحداث الجديدة).
  • "declined" - رفض الضيف الدعوة.
  • "tentative" - قبل الضيف الدعوة مبدئيًا.
  • "accepted" - قبل الضيف الدعوة.
قابل للكتابة
attendeesOmitted boolean ما إذا كان قد تم حذف الضيوف من تمثيل الحدث أم لا. عند استرداد حدث، قد يرجع ذلك إلى أحد القيود التي تحدّدها مَعلمة طلب البحث maxAttendee. عند تعديل حدث، يمكن استخدام هذه الميزة لتعديل ردّ المشارك فقط. اختياري. القيمة التلقائية هي False. قابل للكتابة
colorId string لون الحدث. هذا معرّف يشير إلى إدخال في القسم event من تعريف الألوان (راجِع نقطة نهاية الألوان). اختياري. قابل للكتابة
conferenceData nested object المعلومات المتعلّقة بمكالمات الفيديو، مثل تفاصيل مكالمة فيديو على Google Meet لإنشاء تفاصيل جديدة لمكالمات الفيديو، استخدِم الحقل createRequest. للاحتفاظ بالتغييرات، لا تنسَ ضبط مَعلمة الطلب conferenceDataVersion على 1 لجميع طلبات تعديل الأحداث. قابل للكتابة
description string تمثّل هذه السمة وصف الفعالية. يمكن أن تحتوي على HTML. اختياري. قابل للكتابة
end.date date التاريخ، بالتنسيق "yyyy-mm-dd"، إذا كان هذا الحدث يستمر طوال اليوم. قابل للكتابة
end.dateTime datetime الوقت، كقيمة تاريخ ووقت مجمّعة (يتم تنسيقها وفقًا لمعيار RFC3339). يجب معادلة المنطقة الزمنية ما لم يتم تحديد منطقة زمنية صراحةً في timeZone. قابل للكتابة
end.timeZone string المنطقة الزمنية التي يتم تحديد الوقت فيها. (بتنسيق اسم قاعدة بيانات المناطق الزمنية الصادرة عن منظمة IANA (المنظمة المعنية بأرقام الإنترنت المخصصة)، على سبيل المثال "أوروبا/زيورخ"). بالنسبة إلى الأحداث المتكررة، يعد هذا الحقل مطلوبًا، ويحدد المنطقة الزمنية التي يتم توسيع التكرار فيها. بالنسبة إلى الأحداث الفردية، يكون هذا الحقل اختياريًا ويشير إلى منطقة زمنية مخصّصة لبدء الحدث أو نهايته. قابل للكتابة
extendedProperties.private object الخصائص الخاصة بنسخة الحدث الذي يظهر في هذا التقويم. قابل للكتابة
extendedProperties.shared object الخصائص التي تتم مشاركتها بين نُسخ الحدث في تقاويم الضيوف الآخرين. قابل للكتابة
focusTimeProperties nested object بيانات أحداث وقت التركيز تُستخدَم إذا كانت قيمة السمة eventType هي focusTime. قابل للكتابة
gadget.display string وضع عرض الأداة. تمّ الإيقاف. القيم المتاحة:
  • "icon" - يتم عرض الأداة إلى جانب عنوان الحدث في عرض التقويم.
  • "chip" - يتم عرض الأداة عند النقر على الحدث.
قابل للكتابة
gadget.height integer ارتفاع الأداة بالبكسل. يجب أن يكون الارتفاع عددًا صحيحًا أكبر من 0. اختياري. تمّ الإيقاف. قابل للكتابة
gadget.preferences object الإعدادات المفضّلة. قابل للكتابة
gadget.title string عنوان الأداة. تمّ الإيقاف. قابل للكتابة
gadget.type string نوع الأداة. تمّ الإيقاف. قابل للكتابة
gadget.width integer عرض الأداة بالبكسل. يجب أن يكون العرض عددًا صحيحًا أكبر من 0. اختياري. تمّ الإيقاف. قابل للكتابة
guestsCanInviteOthers boolean ما إذا كان يمكن للحضور، غير المنظِّم، دعوة الآخرين إلى الحدث. اختياري. القيمة التلقائية هي True. قابل للكتابة
guestsCanModify boolean ما إذا كان يمكن للحاضرين بخلاف المنظِّم تعديل الحدث اختياري. القيمة التلقائية هي False. قابل للكتابة
guestsCanSeeOtherGuests boolean ما إذا كان بإمكان الضيوف غير المنظِّمين الاطّلاع على ضيوف الحدث. اختياري. القيمة التلقائية هي True. قابل للكتابة
location string الموقع الجغرافي للفعالية كنص مرن اختياري. قابل للكتابة
originalStartTime.date date التاريخ، بالتنسيق "yyyy-mm-dd"، إذا كان هذا الحدث يستمر طوال اليوم. قابل للكتابة
originalStartTime.dateTime datetime الوقت، كقيمة تاريخ ووقت مجمّعة (يتم تنسيقها وفقًا لمعيار RFC3339). يجب معادلة المنطقة الزمنية ما لم يتم تحديد منطقة زمنية صراحةً في timeZone. قابل للكتابة
originalStartTime.timeZone string المنطقة الزمنية التي يتم تحديد الوقت فيها. (بتنسيق اسم قاعدة بيانات المناطق الزمنية الصادرة عن منظمة IANA (المنظمة المعنية بأرقام الإنترنت المخصصة)، على سبيل المثال "أوروبا/زيورخ"). بالنسبة إلى الأحداث المتكررة، يعد هذا الحقل مطلوبًا، ويحدد المنطقة الزمنية التي يتم توسيع التكرار فيها. بالنسبة إلى الأحداث الفردية، يكون هذا الحقل اختياريًا ويشير إلى منطقة زمنية مخصّصة لبدء الحدث أو نهايته. قابل للكتابة
outOfOfficeProperties nested object بيانات الأحداث خارج المكتب تُستخدَم إذا كانت قيمة السمة eventType هي outOfOffice. قابل للكتابة
recurrence[] list قائمة أسطر RRU وEXCODE وRDATE وEXDATE لحدث متكرر، كما هو محدد في RFC5545. تجدر الإشارة إلى أنّه لا يُسمح بسطور DTSTART وDTEND في هذا الحقل، لأنّ وقت بدء الحدث ووقت انتهائه محدّدان في الحقلين start وend. يتم حذف هذا الحقل للأحداث الفردية أو الحالات المتكررة للأحداث. قابل للكتابة
reminders.overrides[] list إذا كان الحدث لا يستخدم التذكيرات التلقائية، سيؤدي ذلك إلى إدراج التذكيرات الخاصة بالحدث، أو إذا لم يتم ضبطه، سيشير إلى أنه لم يتم ضبط أي تذكيرات لهذا الحدث. الحد الأقصى لعدد تذكيرات الإلغاء هو 5. قابل للكتابة
reminders.overrides[].method string تمثّل هذه السمة الطريقة المستخدمة في هذا التذكير. القيم المتاحة:
  • "email" - يتم إرسال التذكيرات عبر البريد الإلكتروني.
  • "popup": يتم إرسال التذكيرات من خلال نافذة منبثقة لواجهة المستخدم.

مطلوبة عند إضافة تذكير.

قابل للكتابة
reminders.overrides[].minutes integer عدد الدقائق قبل بدء الحدث التي يجب تشغيل التذكير خلالها. تتراوح القيم الصالحة بين 0 و40320 (4 أسابيع بالدقائق).

مطلوبة عند إضافة تذكير.

قابل للكتابة
reminders.useDefault boolean يمكنك اختيار ما إذا كانت التذكيرات التلقائية للتقويم سيتم تطبيقها على الحدث أم لا. قابل للكتابة
sequence integer رقم التسلسل وفقًا لتطبيق iالتقويم قابل للكتابة
source.title string عنوان المصدر، على سبيل المثال عنوان صفحة ويب أو موضوع رسالة إلكترونية قابل للكتابة
source.url string تمثّل هذه السمة عنوان URL للمصدر الذي يشير إلى مورد. يجب أن يكون مخطط عنوان URL إما HTTP أو HTTPS. قابل للكتابة
start.date date التاريخ، بالتنسيق "yyyy-mm-dd"، إذا كان هذا الحدث يستمر طوال اليوم. قابل للكتابة
start.dateTime datetime الوقت، كقيمة تاريخ ووقت مجمّعة (يتم تنسيقها وفقًا لمعيار RFC3339). يجب معادلة المنطقة الزمنية ما لم يتم تحديد منطقة زمنية صراحةً في timeZone. قابل للكتابة
start.timeZone string المنطقة الزمنية التي يتم تحديد الوقت فيها. (بتنسيق اسم قاعدة بيانات المناطق الزمنية الصادرة عن منظمة IANA (المنظمة المعنية بأرقام الإنترنت المخصصة)، على سبيل المثال "أوروبا/زيورخ"). بالنسبة إلى الأحداث المتكررة، يعد هذا الحقل مطلوبًا، ويحدد المنطقة الزمنية التي يتم توسيع التكرار فيها. بالنسبة إلى الأحداث الفردية، يكون هذا الحقل اختياريًا ويشير إلى منطقة زمنية مخصّصة لبدء الحدث أو نهايته. قابل للكتابة
status string حالة الحدث اختياري. القيم المتاحة:
  • "confirmed" - تم تأكيد الحدث. وهذه هي الحالة التلقائية.
  • "tentative" - تم تأكيد الحدث بشكل مبدئي.
  • "cancelled" - تم إلغاء الحدث (محذوف). تعرض الطريقة list الأحداث المُلغاة فقط في المزامنة التزايدية (عند تحديد syncToken أو updatedMin) أو في حال ضبط العلامة showDeleted على true. ودائمًا ما تعرض الطريقة get هذه الدالة.

    وتمثّل الحالة "ملغاة" حالتَين مختلفتَين استنادًا إلى نوع الحدث:

    1. تشير الاستثناءات الملغاة لحدث متكرّر لم يتم إلغاؤه إلى أنّه يجب عدم تقديم هذا المثيل للمستخدم مرة أخرى. وعلى العملاء تخزين هذه الأحداث طوال مدة الحدث الرئيسي المتكرّر.

      يمكن أن تشمل الاستثناءات التي يتم إلغاؤها أن تتم فقط تعبئة قيم الحقول id وrecurringEventId وoriginalStartTime. قد تكون الحقول الأخرى فارغة.

    2. تمثّل جميع الأحداث الأخرى المُلغاة الأحداث المحذوفة. على العملاء إزالة نُسخهم التي تمت مزامنتها محليًا. ستختفي هذه الأحداث الملغاة في النهاية، لذا لا تعتمد على إتاحتها إلى أجل غير مسمى.

      لا يمكن أن نضمن أنّ الأحداث المحذوفة تتم إلّا تعبئة الحقل id.

    في تقويم المنظِّم، تستمر الأحداث المُلغاة في عرض تفاصيل الحدث (الملخص والموقع الجغرافي وما إلى ذلك) حتى يمكن استعادتها (إلغاء حذفها). وبالمثل، تستمر الأحداث التي تمت دعوة المستخدم إليها والتي تمت إزالتها يدويًا في تقديم التفاصيل. ومع ذلك، لن تعرض طلبات المزامنة المتزايدة التي تم ضبط showDeleted فيها على "خطأ" هذه التفاصيل.

    إذا غيّر حدث منظِّمه (على سبيل المثال من خلال عملية النقل) ولم يكن المنظِّم الأصلي مدرَجًا في قائمة الضيوف، سيترك حدثًا ملغيًا حيث يمكن ضمان تعبئة الحقل id فقط.

قابل للكتابة
summary string تمثل هذه الخاصية عنوان الفعالية. قابل للكتابة
transparency string ما إذا كان الحدث سيحظر الوقت في التقويم أم لا. اختياري. القيم المتاحة:
  • "opaque" - القيمة التلقائية يحظر الحدث وقتًا في التقويم. يعادل ذلك إعداد إظهار كـ على مشغول في واجهة مستخدم التقويم.
  • "transparent" - لا يحظر الحدث وقتًا في التقويم. يعادل ذلك إعداد عرضي كـ على متاح في واجهة مستخدم التقويم.
قابل للكتابة
visibility string مستوى رؤية الحدث. اختياري. القيم المتاحة:
  • "default" - لاستخدام مستوى الظهور التلقائي للأحداث في التقويم. هذه هي القيمة الافتراضية.
  • "public" - الحدث علني وتفاصيل الحدث مرئية لجميع برامج قراءة التقويم.
  • "private" - الحدث خاص ولا يمكن سوى لضيوف الحدث الاطّلاع على تفاصيله.
  • "confidential" - الحدث خاص. يتم تقديم هذه القيمة لأسباب تتعلق بالتوافق.
قابل للكتابة
workingLocationProperties nested object بيانات أحداث مكان العمل قابل للكتابة
workingLocationProperties.customLocation object وفي حال توفرها، تحدد أن المستخدم يعمل من موقع مخصص. قابل للكتابة
workingLocationProperties.customLocation.label string تسمية إضافية اختيارية للحصول على معلومات إضافية. قابل للكتابة
workingLocationProperties.homeOffice any value في حال توفّره، تحدِّد هذه السمة أنّ المستخدم يعمل في المنزل. قابل للكتابة
workingLocationProperties.officeLocation object في حال توفّره، يحدِّد أن المستخدم يعمل من مكتب. قابل للكتابة
workingLocationProperties.officeLocation.buildingId string معرِّف مبنى اختياري. يجب أن يشير هذا إلى معرّف مبنى في قاعدة بيانات موارد المؤسسة. قابل للكتابة
workingLocationProperties.officeLocation.deskId string معرّف سطح المكتب الاختياري قابل للكتابة
workingLocationProperties.officeLocation.floorId string معرِّف الطابق الاختياري. قابل للكتابة
workingLocationProperties.officeLocation.floorSectionId string معرّف اختياري لقسم الطابق قابل للكتابة
workingLocationProperties.officeLocation.label string اسم المكتب الذي يتم عرضه في برنامجَي "تقويم Google" على الويب والأجهزة الجوّالة. ننصحك بالإشارة إلى اسم مبنى في قاعدة بيانات "موارد المؤسسة". قابل للكتابة
workingLocationProperties.type string نوع مكان العمل القيم المتاحة:
  • "homeOffice" - المستخدم يعمل في المنزل.
  • "officeLocation" - المستخدم يعمل من مكتب.
  • "customLocation" - يعمل المستخدم من موقع جغرافي مخصّص.
يتم تحديد أي تفاصيل في حقل فرعي للاسم المحدّد، ولكن قد يكون هذا الحقل مفقودًا إذا كان فارغًا. ويتم تجاهل أي حقول أخرى.

مطلوبة عند إضافة خصائص مكان العمل.

قابل للكتابة

الإجابة

وفي حال نجاحها، تعرِض هذه الطريقة مورد الأحداث في نص الاستجابة.

أمثلة

ملاحظة: إنّ الأمثلة المرتبطة بالرموز والمتوفرة لهذه الطريقة لا تمثّل كل لغات البرمجة المتوافقة (يُرجى مراجعة صفحة مكتبات البرامج للاطّلاع على قائمة باللغات المتوافقة).

Java

تستخدم مكتبة عميل Java.

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.Event;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Retrieve the event from the API
Event event = service.events().get("primary", "eventId").execute();

// Make a change
event.setSummary("Appointment at Somewhere");

// Update the event
Event updatedEvent = service.events().update("primary", event.getId(), event).execute();

System.out.println(updatedEvent.getUpdated());

Python

تستخدم مكتبة برامج Python.

# First retrieve the event from the API.
event = service.events().get(calendarId='primary', eventId='eventId').execute()

event['summary'] = 'Appointment at Somewhere'

updated_event = service.events().update(calendarId='primary', eventId=event['id'], body=event).execute()

# Print the updated date.
print updated_event['updated']

PHP

لاستخدام مكتبة برامج PHP.

// First retrieve the event from the API.
$event = $service->events->get('primary', 'eventId');

$event->setSummary('Appointment at Somewhere');

$updatedEvent = $service->events->update('primary', $event->getId(), $event);

// Print the updated date.
echo $updatedEvent->getUpdated();

Ruby

تستخدم مكتبة عميل Ruby.

event = client.get_event('primary', 'eventId')
event.summary = 'Appointment at Somewhere'
result = client.update_event('primary', event.id, event)
print result.updated

تجربة

يمكنك استخدام مستكشف واجهات برمجة التطبيقات أدناه لطلب هذه الطريقة على البيانات المباشرة والاطّلاع على الاستجابة.