Events: instances

عرض نُسخ من الحدث المتكرّر المحدّد جرِّب ذلك الآن أو اطّلِع على مثال.

الطلب

طلب HTTP

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

المعلمات

اسم المعلَمة القيمة الوصف
مَعلمات المسار
calendarId string معرّف التقويم لاسترداد أرقام تعريف التقاويم، يمكنك استدعاء الطريقة calendarList.list. إذا كنت تريد الوصول إلى التقويم الأساسي للمستخدم الذي سجّل الدخول حاليًا، استخدِم الكلمة الرئيسية "primary".
eventId string معرّف الحدث المتكرّر
مَعلمات طلب البحث الاختيارية
alwaysIncludeEmail boolean تم إيقافها نهائيًا ويتم تجاهلها. سيتم دائمًا عرض قيمة في حقل email للمُنظِّم وصنّاع المحتوى والحضور، حتى إذا لم يتوفّر عنوان بريد إلكتروني حقيقي (أي سيتم تقديم قيمة تم إنشاؤها ولا تعمل).
maxAttendees integer الحد الأقصى لعدد الضيوف المطلوب تضمينه في الردّ إذا كان هناك أكثر من العدد المحدّد من الضيوف، يتم عرض المشارك فقط. اختياريّ.
maxResults integer الحد الأقصى لعدد الأحداث التي يتم عرضها في صفحة نتائج واحدة تكون القيمة التلقائية هي 250 حدثًا. لا يمكن أن يكون حجم الصفحة أكبر من 2500 حدث. اختياريّ.
originalStart string وقت البدء الأصلي للمثيل في النتيجة. اختياريّ.
pageToken string رمز مميّز يحدّد صفحة النتائج التي سيتم عرضها. اختياريّ.
showDeleted boolean ما إذا كان سيتم تضمين الأحداث المحذوفة (مع status يساوي "cancelled") في النتيجة. سيظلّ تضمين النُسخ المُلغاة من الأحداث المتكرّرة إذا كانت قيمة singleEvents هي "خطأ". اختياريّ. القيمة التلقائية هي False.
timeMax datetime الحدّ الأقصى (الحصري) لوقت بدء الحدث للفلترة حسبه اختياريّ. الإعداد التلقائي هو عدم الفلترة حسب وقت البدء. يجب أن يكون طابعًا زمنيًا بتنسيق RFC3339 مع إضافة المنطقة الزمنية الإلزامية.
timeMin datetime الحدّ الأدنى (شاملاً) لوقت انتهاء الحدث الذي يتم الفلترة حسبه اختياريّ. الإعداد التلقائي هو عدم الفلترة حسب وقت الانتهاء. يجب أن يكون طابعًا زمنيًا بتنسيق RFC3339 مع إضافة المنطقة الزمنية الإلزامية.
timeZone string المنطقة الزمنية المستخدَمة في الردّ اختياريّ. الإعداد التلقائي هو المنطقة الزمنية للتقويم.

التفويض

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

النطاق
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events.readonly
https://www.googleapis.com/auth/calendar.events
https://www.googleapis.com/auth/calendar.app.created
https://www.googleapis.com/auth/calendar.events.freebusy
https://www.googleapis.com/auth/calendar.events.owned
https://www.googleapis.com/auth/calendar.events.owned.readonly
https://www.googleapis.com/auth/calendar.events.public.readonly

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

نص الطلب

لا تقدِّم محتوى طلب باستخدام هذه الطريقة.

الردّ

إذا كانت الاستجابة ناجحة، تعرض هذه الطريقة نص استجابة بالبنية التالية:

{
  "kind": "calendar#events",
  "etag": etag,
  "summary": string,
  "description": string,
  "updated": datetime,
  "timeZone": string,
  "accessRole": string,
  "defaultReminders": [
    {
      "method": string,
      "minutes": integer
    }
  ],
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    events Resource
  ]
}
اسم السمة القيمة الوصف ملاحظات
kind string نوع المجموعة ("calendar#events").
etag etag علامة ETag للمجموعة
summary string عنوان التقويم للقراءة فقط.
description string وصف التقويم للقراءة فقط.
updated datetime وقت آخر تعديل على التقويم (كطابع زمني RFC3339) للقراءة فقط.
timeZone string المنطقة الزمنية للتقويم للقراءة فقط.
accessRole string دور وصول المستخدم إلى هذا التقويم. للقراءة فقط. القيم المحتمَلة هي:
  • "none" - لا يملك المستخدم إذن الوصول.
  • "freeBusyReader": يملك المستخدم إذن قراءة معلومات الحالة "متوفّر/مشغول".
  • "reader": لدى المستخدم إذن بالقراءة في التقويم. ستظهر الأحداث الخاصة للمستخدمين الذين لديهم إذن وصول "قارئ"، ولكن سيتم إخفاء تفاصيل الحدث.
  • "writer": يملك المستخدم إذن الوصول للقراءة والكتابة في التقويم. ستظهر الأحداث الخاصة للمستخدمين الذين لديهم إذن وصول بصفتهم كاتبًا، وستظهر تفاصيل الحدث.
  • "owner": يملك المستخدم ملكية التقويم. يمتلك هذا الدور جميع أذونات دور "الكاتب" مع إمكانية إضافية للاطّلاع على جداول أذونات الوصول وتعديلها.
defaultReminders[] list التذكيرات التلقائية في التقويم للمستخدم الذي تم مصادقة هويته تنطبق هذه التذكيرات على جميع الأحداث في هذا التقويم التي لا تلغي هذه التذكيرات صراحةً (أي أنّها لا تضبط reminders.useDefault على True).
defaultReminders[].method string الطريقة المستخدَمة في هذا التذكير القيم المحتمَلة هي:
  • "email": يتم إرسال التذكيرات عبر البريد الإلكتروني.
  • "popup": يتم إرسال التذكيرات من خلال نافذة منبثقة لواجهة المستخدم.

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

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

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

قابلة للكتابة
nextPageToken string الرمز المميّز المستخدَم للوصول إلى الصفحة التالية من هذه النتيجة يتم حذفها إذا لم تتوفّر نتائج أخرى، وفي هذه الحالة يتم عرض nextSyncToken.
items[] list قائمة بالأحداث في التقويم
nextSyncToken string الرمز المميّز المستخدَم في وقت لاحق لاسترداد الإدخالات التي تغيّرت فقط منذ عرض هذه النتيجة يتم حذفه إذا كانت هناك نتائج أخرى متاحة، وفي هذه الحالة يتم عرض nextPageToken.

أمثلة

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

Java

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

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

// ...

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

// Iterate over the instances of a specific recurring event
String pageToken = null;
do {
  Events events =
      service.events().instances('primary', 'eventId').setPageToken(pageToken).execute();
  List<Event> items = events.getItems();
  for (Event event : items) {
    System.out.println(event.getSummary());
  }
  pageToken = events.getNextPageToken();
} while (pageToken != null);

Python

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

page_token = None
while True:
  events = service.events().instances(calendarId='primary', eventId='eventId',
                                      pageToken=page_token).execute()
  for event in events['items']:
    print event['summary']
  page_token = events.get('nextPageToken')
  if not page_token:
    break

PHP

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

$events = $service->events->instances('primary', "eventId");

while(true) {
  foreach ($events->getItems() as $event) {
    echo $event->getSummary();
  }
  $pageToken = $events->getNextPageToken();
  if ($pageToken) {
    $optParams = array('pageToken' => $pageToken);
    $events = $service->events->instances('primary', "eventId",
        $optParams);
  } else {
    break;
  }
}

Ruby

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

page_token = nil
begin
  result = client.list_event_instances('primary', 'eventId')
  result.items.each do |e|
    print e.summary + "\n"
  end
  if result.next_page_token != page_token
    page_token = result.next_page_token
  else
    page_token = nil
  end
end while !page_token.nil?

جرّب الآن

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