لاستيراد حدث. تُستخدم هذه العملية لإضافة نسخة خاصة من حدث حالي إلى تقويم. يمكن فقط استيراد الأحداث التي تحتوي على eventType
من default
.
سلوك الإيقاف: في حال استيراد حدث ليس من النوع default
، سيتم تغيير نوعه إلى default
، وسيتم تجاهل أي سمات محدّدة لنوع الحدث.
الطلب
طلب HTTP
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events/import
المعلمات
اسم المعلَمة | القيمة | الوصف |
---|---|---|
مَعلمات المسار | ||
calendarId |
string |
معرِّف التقويم. لاسترداد معرّفات التقويم، يجب استدعاء الطريقة calendarList.list. إذا أردت الوصول إلى التقويم الأساسي للمستخدم الذي سجّل الدخول حاليًا، استخدِم "primary " .
|
مَعلمات طلب البحث الاختيارية | ||
conferenceDataVersion |
integer |
رقم نسخة بيانات مكالمة الفيديو المتوافقة مع عميل واجهة برمجة التطبيقات يفترض الإصدار 0 عدم توفّر بيانات مكالمة الفيديو، ويتجاهل بيانات مكالمة الفيديو في النص الأساسي للحدث. يتيح الإصدار 1 إمكانية نسخ conferenceData بالإضافة إلى إنشاء مكالمات فيديو جديدة باستخدام الحقل createRequest في للمؤتمرات. القيمة التلقائية هي 0.
تتراوح القيم المقبولة بين 0 و1 بشكل شامل.
|
supportsAttachments |
boolean |
ما إذا كان عميل واجهة برمجة التطبيقات يسمح بإرفاق الأحداث اختياريّ. وتكون القيمة التلقائية False. |
التفويض
يتطلب هذا الطلب تفويضًا باستخدام نطاق واحد على الأقل من النطاقات التالية:
النطاق |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events |
لمزيد من المعلومات، يُرجى الاطّلاع على صفحة المصادقة والتفويض.
نص الطلب
في نص الطلب، قدِّم مورد الأحداث مع الخصائص التالية:
اسم الموقع | القيمة | الوصف | ملاحظات |
---|---|---|---|
الخصائص المطلوبة | |||
end |
nested object |
وقت انتهاء الفعالية (الحصري) وبالنسبة إلى الحدث المتكرّر، يكون هذا هو وقت انتهاء الحدث الأول. | |
iCalUID |
string |
المعرِّف الفريد للحدث على النحو المحدّد في RFC5545. ويتم استخدامه لتحديد الأحداث بشكل فريد على مستوى أنظمة التقويم، ويجب تقديمه عند استيراد الأحداث من خلال طريقة الاستيراد. يُرجى العلم أنّ |
|
start |
nested object |
وقت بدء الحدث (شامل). وفي ما يتعلق بحدث متكرر، يكون هذا هو وقت بدء الحدث الأول. | |
الخصائص الاختيارية | |||
anyoneCanAddSelf |
boolean |
ما إذا كان يمكن لأي شخص دعوة نفسه إلى الحدث (متوقف). اختياريّ. وتكون القيمة التلقائية False. | قابل للكتابة |
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 |
ما إذا كان هذا الحضور اختياري أم لا. اختياريّ. وتكون القيمة التلقائية False. | قابل للكتابة |
attendees[].resource |
boolean |
ما إذا كان الضيف مصدرًا. لا يمكن ضبط هذا الإعداد إلا عند إضافة الضيف إلى الحدث لأول مرة. ويتم تجاهل التعديلات اللاحقة. اختياريّ. وتكون القيمة التلقائية False. | قابل للكتابة |
attendees[].responseStatus |
string |
حالة ردّ الضيف القيم المتاحة:
|
قابل للكتابة |
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 |
وضع عرض الأداة. تمّ الإيقاف. القيم المتاحة:
|
قابل للكتابة |
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 |
ما إذا كان بإمكان الضيوف الآخرين غير المنظّم دعوة الآخرين إلى الحدث اختياريّ. الإعداد التلقائي هو True. | قابل للكتابة |
guestsCanModify |
boolean |
ما إذا كان بإمكان الضيوف الآخرين غير المنظّم تعديل الحدث اختياريّ. وتكون القيمة التلقائية False. | قابل للكتابة |
guestsCanSeeOtherGuests |
boolean |
ما إذا كان بإمكان الضيوف الآخرين غير المنظّم الاطّلاع على هوية ضيوف الحدث اختياريّ. الإعداد التلقائي هو True. | قابل للكتابة |
location |
string |
الموقع الجغرافي للفعالية كنص حر الشكل. اختياريّ. | قابل للكتابة |
organizer |
object |
منظِّم الحدث. إذا كان المنظِّم أيضًا أحد الضيوف، تتم الإشارة إلى ذلك من خلال إدخال منفصل في attendees مع ضبط الحقل organizer على "صحيح". لتغيير المنظِّم، يمكنك استخدام عملية النقل. للقراءة فقط، باستثناء عند استيراد حدث. |
قابل للكتابة |
organizer.displayName |
string |
تمثّل هذه السمة اسم المنظِّم، إذا كان متوفرًا. | قابل للكتابة |
organizer.email |
string |
تمثّل هذه السمة عنوان البريد الإلكتروني الخاص بالمنظِّم، إذا كان متوفرًا. يجب أن يكون عنوان بريد إلكتروني صالحًا وفقًا لمعيار RFC5322. | قابل للكتابة |
originalStartTime.date |
date |
التاريخ، بالتنسيق "yyyy-mm-dd"، إذا كان هذا الحدث يستمر طوال اليوم. | قابل للكتابة |
originalStartTime.dateTime |
datetime |
الوقت، كقيمة مجمَّعة للتاريخ والوقت (بتنسيق RFC3339). يجب إضافة معادلة المنطقة الزمنية ما لم يتم تحديد منطقة زمنية بشكل صريح في timeZone . |
قابل للكتابة |
originalStartTime.timeZone |
string |
المنطقة الزمنية التي يتم تحديد الوقت فيها. (بتنسيق اسم قاعدة بيانات المناطق الزمنية الصادر عن IANA، مثل "أوروبا/زيورخ"). هذا الحقل مطلوب للأحداث المتكرّرة ويحدِّد المنطقة الزمنية التي يتم فيها توسيع التكرار. بالنسبة إلى الأحداث الفردية، هذا الحقل اختياري ويشير إلى منطقة زمنية مخصّصة لبداية/نهاية الحدث. | قابل للكتابة |
outOfOfficeProperties |
nested object |
بيانات الأحداث خارج المكتب يتم استخدامه إذا كانت قيمة السمة eventType هي outOfOffice . |
قابل للكتابة |
recurrence[] |
list |
قائمة سطور Rالقواعد وEXالقواعد و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 |
الرقم التسلسلي وفقًا لـ icalendar. | قابل للكتابة |
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 |
مستوى رؤية الحدث. اختياريّ. القيم المتاحة:
|
قابل للكتابة |
الرد
وفي حال نجاح الإجراء، سيتم عرض مورد الأحداث في نص الاستجابة.
أمثلة
ملاحظة: إنّ الأمثلة المرتبطة بالرموز والمتوفرة لهذه الطريقة لا تمثّل كل لغات البرمجة المتوافقة (يُرجى مراجعة صفحة مكتبات البرامج للاطّلاع على قائمة باللغات المتوافقة).
Java
تستخدم مكتبة برامج Java.
import com.google.api.services.calendar.Calendar; import com.google.api.services.calendar.model.Event; import com.google.api.services.calendar.model.EventAttendee; import com.google.api.services.calendar.model.EventDateTime; import com.google.api.client.util.DateTime; import java.util.Date; // ... // Initialize Calendar service with valid OAuth credentials Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials) .setApplicationName("applicationName").build(); // Create and initialize a new event (could also retrieve an existing event) Event event = new Event(); event.setICalUID("originalUID"); Event.Organizer organizer = new Event.Organizer(); organizer.setEmail("organizerEmail"); organizer.setDisplayName("organizerDisplayName"); event.setOrganizer(organizer); ArrayList<EventAttendee> attendees = new ArrayList<EventAttendee>(); attendees.add(new EventAttendee().setEmail("attendeeEmail")); // ... event.setAttendees(attendees); Date startDate = new Date(); Date endDate = new Date(startDate.getTime() + 3600000); DateTime start = new DateTime(startDate, TimeZone.getTimeZone("UTC")); event.setStart(new EventDateTime().setDateTime(start)); DateTime end = new DateTime(endDate, TimeZone.getTimeZone("UTC")); event.setEnd(new EventDateTime().setDateTime(end)); // Import the event into a calendar Event importedEvent = service.events().calendarImport('primary', event).execute(); System.out.println(importedEvent.getId());
Python
تستخدم مكتبة برامج Python.
event = { 'summary': 'Appointment', 'location': 'Somewhere', 'organizer': { 'email': 'organizerEmail', 'displayName': 'organizerDisplayName' }, 'start': { 'dateTime': '2011-06-03T10:00:00.000-07:00' }, 'end': { 'dateTime': '2011-06-03T10:25:00.000-07:00' }, 'attendees': [ { 'email': 'attendeeEmail', 'displayName': 'attendeeDisplayName', }, # ... ], 'iCalUID': 'originalUID' } imported_event = service.events().import_(calendarId='primary', body=event).execute() print imported_event['id']
PHP
لاستخدام مكتبة برامج PHP
$event = new Google_Service_Calendar_Event(); $event->setSummary('Appointment'); $event->setLocation('Somewhere'); $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime('2011-06-03T10:00:00.000-07:00'); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime('2011-06-03T10:25:00.000-07:00'); $event->setEnd($end); $attendee1 = new Google_Service_Calendar_EventAttendee(); $attendee1->setEmail('attendeeEmail'); // ... $attendees = array($attendee1, // ..., ); $event->attendees = $attendees; $organizer = new Google_Service_Calendar_EventOrganizer(); $organizer->setEmail('organizerEmail'); $organizer->setDisplayName('organizerDisplayName'); $event->setOrganizer($organizer); $event->setICalUID('originalUID'); $importedEvent = $service->events->import('primary', $event); echo $importedEvent->getId();
Ruby
تستخدم مكتبة برامج Ruby.
event = Google::Apis::CalendarV3::Event.new( summary: 'Appointment', location: 'Somewhere', organizer: { email: 'organizerEmail', display_name: 'organizerDisplayName' }, start: { date_time: '2011-06-03T10:00:00.000-07:00' }, end: { date_time: '2011-06-03T10:25:00.000-07:00' }, attendees: [ { email: 'attendeeEmail', display_name: 'attendeeDisplayName', }, # ... ], i_cal_uid: 'originalUID' ) result = client.import_event('primary', event) print result.id
جرّب الآن
يمكنك استخدام "مستكشف واجهات برمجة التطبيقات" أدناه لطلب هذه الطريقة على البيانات المباشرة والاطّلاع على الردّ.