لإنشاء حدث. جرِّبه الآن أو اطّلِع على مثال.
الطلب
طلب HTTP
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events
المَعلمات
اسم المعلَمة | القيمة | الوصف |
---|---|---|
مَعلمات المسار | ||
calendarId |
string |
معرّف التقويم. لاسترداد معرّفات التقويم، يمكنك استدعاء الطريقة calendarList.list. إذا كنت تريد الوصول إلى التقويم الأساسي للمستخدم الذي سجّل دخوله حاليًا، استخدِم الكلمة الرئيسية "primary ".
|
مَعلمات طلب البحث الاختيارية | ||
conferenceDataVersion |
integer |
رقم إصدار بيانات مكالمات الفيديو التي يدعمها برنامج واجهة برمجة التطبيقات. لا يفترض الإصدار 0 أي دعم لبيانات المؤتمر ويتجاهل بيانات المؤتمر في نص الحدث. يتيح الإصدار 1 إمكانية نسخ "بيانات المؤتمر" بالإضافة إلى إنشاء مؤتمرات جديدة باستخدام الحقل createRequest في بيانات المؤتمر. والقيمة التلقائية هي 0.
تتراوح القيم المقبولة بين 0 و1 ، بما في ذلك القيم الواقعة بينهما.
|
maxAttendees |
integer |
الحد الأقصى لعدد الضيوف الذين سيتم تضمينهم في الرد. وإذا كان هناك أكثر من العدد المحدّد من الضيوف، يتم عرض المشارك فقط. اختياريّ. |
sendNotifications |
boolean |
تمّ الإيقاف. يُرجى استخدام sendUpdates بدلاً من ذلك. لإرسال إشعارات حول إنشاء الحدث الجديد. يُرجى العلم أنّه قد يتم إرسال بعض الرسائل الإلكترونية حتى في حال ضبط القيمة على false . والقيمة التلقائية هي false .
|
sendUpdates |
string |
ما إذا كنت تريد إرسال إشعارات بشأن إنشاء الحدث الجديد أم لا. يُرجى العلم أنّه قد يتم إرسال بعض الرسائل الإلكترونية. والقيمة التلقائية هي false .
القيم المقبولة هي:
|
supportsAttachments |
boolean |
ما إذا كان تنفيذ عميل واجهة برمجة التطبيقات يتيح استخدام مرفقات الأحداث اختياريّ. والقيمة التلقائية هي "خطأ". |
التفويض
يتطلب هذا الطلب تفويضًا باستخدام نطاق واحد على الأقل من النطاقات التالية:
النطاق |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events |
للحصول على مزيد من المعلومات، يمكنك الاطلاع على صفحة المصادقة والتفويض.
نص الطلب
في نص الطلب، وفِّر مورد الأحداث بالخصائص التالية:
اسم الموقع | القيمة | الوصف | Notes |
---|---|---|---|
الخصائص المطلوبة | |||
end |
nested object |
تمثّل هذه السمة وقت انتهاء الحدث (الحصري). بالنسبة إلى حدث متكرر، هذا هو وقت انتهاء الحدث الأول. | |
start |
nested object |
وقت بدء الحدث (بشكل شامل). بالنسبة إلى حدث متكرر، يكون هذا هو وقت بدء الحدث الأول. | |
السمات الاختيارية | |||
anyoneCanAddSelf |
boolean |
ما إذا كان بإمكان أي شخص دعوة نفسه إلى الحدث (متوقف). اختياريّ. والقيمة التلقائية هي "خطأ". | قابل للكتابة |
attachments[].fileUrl |
string |
عنوان URL المؤدي إلى المرفق. لإضافة مرفقات ملفات من Google Drive، استخدِم التنسيق نفسه المستخدَم في السمة مطلوب عند إضافة مرفق. |
قابل للكتابة |
attendees[] |
list |
المشاركون في الفعالية. يمكنك الاطّلاع على دليل الأحداث التي يشارك فيها ضيوف للحصول على مزيد من المعلومات حول جدولة الأحداث مع مستخدمي التقويم الآخرين. يجب أن تستخدم حسابات الخدمة تفويض المرجع على مستوى النطاق لتعبئة قائمة الضيوف. | قابل للكتابة |
attendees[].additionalGuests |
integer |
عدد النزلاء الإضافيين اختياريّ. والقيمة التلقائية هي 0. | قابل للكتابة |
attendees[].comment |
string |
التعليق على ردّ الضيف اختياريّ. | قابل للكتابة |
attendees[].displayName |
string |
تشير هذه السمة إلى اسم الضيف، إذا كان متوفّرًا. اختياريّ. | قابل للكتابة |
attendees[].email |
string |
عنوان البريد الإلكتروني للضيف، إذا كان متاحًا يجب أن يكون هذا الحقل متاحًا عند إضافة ضيف. ويجب أن يكون عنوان بريد إلكتروني صالحًا وفق RFC5322. مطلوب عند إضافة ضيف. |
قابل للكتابة |
attendees[].optional |
boolean |
ما إذا كان هذا الحاضر اختياريًا. اختياريّ. والقيمة التلقائية هي "خطأ". | قابل للكتابة |
attendees[].resource |
boolean |
تُستخدَم لتحديد ما إذا كان الضيف مصدرًا. لا يمكن ضبط هذا الإعداد إلا عند إضافة الضيف إلى الحدث للمرة الأولى. ويتم تجاهل التعديلات اللاحقة. اختياريّ. والقيمة التلقائية هي "خطأ". | قابل للكتابة |
attendees[].responseStatus |
string |
حالة ردّ الضيف القيم المتاحة:
|
قابل للكتابة |
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 (المنظمة المعنية بأرقام الإنترنت المخصصة)، مثل "أوروبا/زيورخ"). بالنسبة إلى الأحداث المتكرّرة، يكون هذا الحقل مطلوبًا، ويحدّد المنطقة الزمنية التي يتم توسيع التكرار فيها. بالنسبة إلى الأحداث الفردية، يكون هذا الحقل اختياريًا ويشير إلى منطقة زمنية مخصّصة لبداية الحدث أو نهايته. | قابل للكتابة |
eventType |
string |
النوع المحدّد للحدث لا يمكن تعديل هذا الاسم بعد إنشاء الحدث. القيم المتاحة:
|
قابل للكتابة |
extendedProperties.private |
object |
الخصائص الخاصة بنسخة الحدث الذي يظهر في هذا التقويم. | قابل للكتابة |
extendedProperties.shared |
object |
الخصائص التي تتم مشاركتها بين نُسخ الحدث في تقاويم الضيوف الآخرين. | قابل للكتابة |
focusTimeProperties |
nested object |
بيانات أحداث وقت التركيز تُستخدَم إذا كانت قيمة eventType هي focusTime . |
قابل للكتابة |
gadget.display |
string |
وضع عرض الأداة. تمّ الإيقاف. القيم المتاحة:
|
قابل للكتابة |
gadget.height |
integer |
ارتفاع الأداة بالبكسل. يجب أن يكون الارتفاع عددًا صحيحًا أكبر من 0. اختياريّ. تمّ الإيقاف. | قابل للكتابة |
gadget.iconLink |
string |
عنوان URL لرمز الأداة. يجب أن يكون مخطط عنوان URL هو HTTPS. تمّ الإيقاف. | قابل للكتابة |
gadget.link |
string |
عنوان URL للأداة. يجب أن يكون مخطط عنوان URL هو HTTPS. تمّ الإيقاف. | قابل للكتابة |
gadget.preferences |
object |
الإعدادات المفضّلة. | قابل للكتابة |
gadget.title |
string |
عنوان الأداة. تمّ الإيقاف. | قابل للكتابة |
gadget.type |
string |
نوع الأداة. تمّ الإيقاف. | قابل للكتابة |
gadget.width |
integer |
عرض الأداة بالبكسل. يجب أن يكون العرض عددًا صحيحًا أكبر من 0. اختياريّ. تمّ الإيقاف. | قابل للكتابة |
guestsCanInviteOthers |
boolean |
ما إذا كان بإمكان الضيوف غير المنظِّم دعوة الآخرين إلى الحدث اختياريّ. والقيمة التلقائية هي "صحيح". | قابل للكتابة |
guestsCanModify |
boolean |
ما إذا كان بإمكان الضيوف غير المنظِّم تعديل الحدث اختياريّ. والقيمة التلقائية هي "خطأ". | قابل للكتابة |
guestsCanSeeOtherGuests |
boolean |
ما إذا كان بإمكان الضيوف، غير المنظِّم، معرفة الحاضرين في الحدث. اختياريّ. والقيمة التلقائية هي "صحيح". | قابل للكتابة |
id |
string |
معرّف مبهم للحدث عند إنشاء أحداث فردية أو متكرّرة جديدة، يمكنك تحديد أرقام تعريفها. يجب أن تلتزم المعرّفات المقدَّمة بالقواعد التالية:
إذا لم تحدّد معرِّفًا، سينشئه الخادم تلقائيًا. يُرجى العِلم أنّ حقلَي |
قابل للكتابة |
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 |
تمثّل هذه السمة الطريقة المستخدمة في هذا التذكير. القيم المتاحة:
مطلوبة عند إضافة تذكير. |
قابل للكتابة |
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 |
حالة الحدث اختياريّ. القيم المتاحة:
|
قابل للكتابة |
summary |
string |
تمثل هذه الخاصية عنوان الفعالية. | قابل للكتابة |
transparency |
string |
ما إذا كان الحدث سيحظر الوقت في التقويم اختياريّ. القيم المتاحة:
|
قابل للكتابة |
visibility |
string |
مستوى رؤية الحدث. اختياريّ. القيم المتاحة:
|
قابل للكتابة |
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 |
نوع مكان العمل القيم المتاحة:
مطلوب عند إضافة مواقع جغرافية للعمل. |
قابل للكتابة |
الإجابة
في حال نجاح هذا الإجراء، تعرِض هذه الطريقة مورد الأحداث في نص الاستجابة.
أمثلة
ملاحظة: إنّ الأمثلة المرتبطة بالرموز والمتوفرة لهذه الطريقة لا تمثّل كل لغات البرمجة المتوافقة (يُرجى مراجعة صفحة مكتبات البرامج للاطّلاع على قائمة باللغات المتوافقة).
Java
تستخدم مكتبة عملاء Java.
// Refer to the Java quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/java // Change the scope to CalendarScopes.CALENDAR and delete any stored // credentials. Event event = new Event() .setSummary("Google I/O 2015") .setLocation("800 Howard St., San Francisco, CA 94103") .setDescription("A chance to hear more about Google's developer products."); DateTime startDateTime = new DateTime("2015-05-28T09:00:00-07:00"); EventDateTime start = new EventDateTime() .setDateTime(startDateTime) .setTimeZone("America/Los_Angeles"); event.setStart(start); DateTime endDateTime = new DateTime("2015-05-28T17:00:00-07:00"); EventDateTime end = new EventDateTime() .setDateTime(endDateTime) .setTimeZone("America/Los_Angeles"); event.setEnd(end); String[] recurrence = new String[] {"RRULE:FREQ=DAILY;COUNT=2"}; event.setRecurrence(Arrays.asList(recurrence)); EventAttendee[] attendees = new EventAttendee[] { new EventAttendee().setEmail("lpage@example.com"), new EventAttendee().setEmail("sbrin@example.com"), }; event.setAttendees(Arrays.asList(attendees)); EventReminder[] reminderOverrides = new EventReminder[] { new EventReminder().setMethod("email").setMinutes(24 * 60), new EventReminder().setMethod("popup").setMinutes(10), }; Event.Reminders reminders = new Event.Reminders() .setUseDefault(false) .setOverrides(Arrays.asList(reminderOverrides)); event.setReminders(reminders); String calendarId = "primary"; event = service.events().insert(calendarId, event).execute(); System.out.printf("Event created: %s\n", event.getHtmlLink());
Python
تستخدم مكتبة برامج Python.
# Refer to the Python quickstart on how to setup the environment: # https://developers.google.com/calendar/quickstart/python # Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any # stored credentials. event = { 'summary': 'Google I/O 2015', 'location': '800 Howard St., San Francisco, CA 94103', 'description': 'A chance to hear more about Google\'s developer products.', 'start': { 'dateTime': '2015-05-28T09:00:00-07:00', 'timeZone': 'America/Los_Angeles', }, 'end': { 'dateTime': '2015-05-28T17:00:00-07:00', 'timeZone': 'America/Los_Angeles', }, 'recurrence': [ 'RRULE:FREQ=DAILY;COUNT=2' ], 'attendees': [ {'email': 'lpage@example.com'}, {'email': 'sbrin@example.com'}, ], 'reminders': { 'useDefault': False, 'overrides': [ {'method': 'email', 'minutes': 24 * 60}, {'method': 'popup', 'minutes': 10}, ], }, } event = service.events().insert(calendarId='primary', body=event).execute() print 'Event created: %s' % (event.get('htmlLink'))
PHP
تستخدم مكتبة برامج PHP.
// Refer to the PHP quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/php // Change the scope to Google_Service_Calendar::CALENDAR and delete any stored // credentials. $event = new Google_Service_Calendar_Event(array( 'summary' => 'Google I/O 2015', 'location' => '800 Howard St., San Francisco, CA 94103', 'description' => 'A chance to hear more about Google\'s developer products.', 'start' => array( 'dateTime' => '2015-05-28T09:00:00-07:00', 'timeZone' => 'America/Los_Angeles', ), 'end' => array( 'dateTime' => '2015-05-28T17:00:00-07:00', 'timeZone' => 'America/Los_Angeles', ), 'recurrence' => array( 'RRULE:FREQ=DAILY;COUNT=2' ), 'attendees' => array( array('email' => 'lpage@example.com'), array('email' => 'sbrin@example.com'), ), 'reminders' => array( 'useDefault' => FALSE, 'overrides' => array( array('method' => 'email', 'minutes' => 24 * 60), array('method' => 'popup', 'minutes' => 10), ), ), )); $calendarId = 'primary'; $event = $service->events->insert($calendarId, $event); printf('Event created: %s\n', $event->htmlLink);
Ruby
تستخدم مكتبة برامج Ruby.
event = Google::Apis::CalendarV3::Event.new( summary: 'Google I/O 2015', location: '800 Howard St., San Francisco, CA 94103', description: 'A chance to hear more about Google\'s developer products.', start: Google::Apis::CalendarV3::EventDateTime.new( date_time: '2015-05-28T09:00:00-07:00', time_zone: 'America/Los_Angeles' ), end: Google::Apis::CalendarV3::EventDateTime.new( date_time: '2015-05-28T17:00:00-07:00', time_zone: 'America/Los_Angeles' ), recurrence: [ 'RRULE:FREQ=DAILY;COUNT=2' ], attendees: [ Google::Apis::CalendarV3::EventAttendee.new( email: 'lpage@example.com' ), Google::Apis::CalendarV3::EventAttendee.new( email: 'sbrin@example.com' ) ], reminders: Google::Apis::CalendarV3::Event::Reminders.new( use_default: false, overrides: [ Google::Apis::CalendarV3::EventReminder.new( reminder_method: 'email', minutes: 24 * 60 ), Google::Apis::CalendarV3::EventReminder.new( reminder_method: 'popup', minutes: 10 ) ] ) ) result = client.insert_event('primary', event) puts "Event created: #{result.html_link}"
NET.
استخدام مكتبة برامج .NET
// Refer to the .NET quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/dotnet // Change the scope to CalendarService.Scope.Calendar and delete any stored // credentials. Event newEvent = new Event() { Summary = "Google I/O 2015", Location = "800 Howard St., San Francisco, CA 94103", Description = "A chance to hear more about Google's developer products.", Start = new EventDateTime() { DateTime = DateTime.Parse("2015-05-28T09:00:00-07:00"), TimeZone = "America/Los_Angeles", }, End = new EventDateTime() { DateTime = DateTime.Parse("2015-05-28T17:00:00-07:00"), TimeZone = "America/Los_Angeles", }, Recurrence = new String[] { "RRULE:FREQ=DAILY;COUNT=2" }, Attendees = new EventAttendee[] { new EventAttendee() { Email = "lpage@example.com" }, new EventAttendee() { Email = "sbrin@example.com" }, }, Reminders = new Event.RemindersData() { UseDefault = false, Overrides = new EventReminder[] { new EventReminder() { Method = "email", Minutes = 24 * 60 }, new EventReminder() { Method = "sms", Minutes = 10 }, } } }; String calendarId = "primary"; EventsResource.InsertRequest request = service.Events.Insert(newEvent, calendarId); Event createdEvent = request.Execute(); Console.WriteLine("Event created: {0}", createdEvent.HtmlLink);
البدء
تستخدم مكتبة برامج Go.
// Refer to the Go quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/go // Change the scope to calendar.CalendarScope and delete any stored credentials. event := &calendar.Event{ Summary: "Google I/O 2015", Location: "800 Howard St., San Francisco, CA 94103", Description: "A chance to hear more about Google's developer products.", Start: &calendar.EventDateTime{ DateTime: "2015-05-28T09:00:00-07:00", TimeZone: "America/Los_Angeles", }, End: &calendar.EventDateTime{ DateTime: "2015-05-28T17:00:00-07:00", TimeZone: "America/Los_Angeles", }, Recurrence: []string{"RRULE:FREQ=DAILY;COUNT=2"}, Attendees: []*calendar.EventAttendee{ &calendar.EventAttendee{Email:"lpage@example.com"}, &calendar.EventAttendee{Email:"sbrin@example.com"}, }, } calendarId := "primary" event, err = srv.Events.Insert(calendarId, event).Do() if err != nil { log.Fatalf("Unable to create event. %v\n", err) } fmt.Printf("Event created: %s\n", event.HtmlLink)
JavaScript
تستخدم مكتبة برامج JavaScript.
// Refer to the JavaScript quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/js // Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any // stored credentials. var event = { 'summary': 'Google I/O 2015', 'location': '800 Howard St., San Francisco, CA 94103', 'description': 'A chance to hear more about Google\'s developer products.', 'start': { 'dateTime': '2015-05-28T09:00:00-07:00', 'timeZone': 'America/Los_Angeles' }, 'end': { 'dateTime': '2015-05-28T17:00:00-07:00', 'timeZone': 'America/Los_Angeles' }, 'recurrence': [ 'RRULE:FREQ=DAILY;COUNT=2' ], 'attendees': [ {'email': 'lpage@example.com'}, {'email': 'sbrin@example.com'} ], 'reminders': { 'useDefault': false, 'overrides': [ {'method': 'email', 'minutes': 24 * 60}, {'method': 'popup', 'minutes': 10} ] } }; var request = gapi.client.calendar.events.insert({ 'calendarId': 'primary', 'resource': event }); request.execute(function(event) { appendPre('Event created: ' + event.htmlLink); });
Node.js
تستخدم مكتبة عميل Node.js.
// Refer to the Node.js quickstart on how to setup the environment: // https://developers.google.com/calendar/quickstart/node // Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any // stored credentials. var event = { 'summary': 'Google I/O 2015', 'location': '800 Howard St., San Francisco, CA 94103', 'description': 'A chance to hear more about Google\'s developer products.', 'start': { 'dateTime': '2015-05-28T09:00:00-07:00', 'timeZone': 'America/Los_Angeles', }, 'end': { 'dateTime': '2015-05-28T17:00:00-07:00', 'timeZone': 'America/Los_Angeles', }, 'recurrence': [ 'RRULE:FREQ=DAILY;COUNT=2' ], 'attendees': [ {'email': 'lpage@example.com'}, {'email': 'sbrin@example.com'}, ], 'reminders': { 'useDefault': false, 'overrides': [ {'method': 'email', 'minutes': 24 * 60}, {'method': 'popup', 'minutes': 10}, ], }, }; calendar.events.insert({ auth: auth, calendarId: 'primary', resource: event, }, function(err, event) { if (err) { console.log('There was an error contacting the Calendar service: ' + err); return; } console.log('Event created: %s', event.htmlLink); });
تجربة
استخدِم مستكشف واجهات برمجة التطبيقات أدناه لطلب هذه الطريقة على البيانات المباشرة والاطّلاع على الردّ.