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 حدثًا. لا يمكن أبدًا أن يتجاوز حجم الصفحة 2,500 حدث. اختياريّ.
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

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

نص الطلب

لا توفِّر نص طلب بهذه الطريقة.

الإجابة

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

{
  "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
  ]
}
اسم الموقع القيمة الوصف Notes
kind string نوع المجموعة ("calendar#events").
etag etag علامة ETag الخاصة بالمجموعة
summary string عنوان التقويم. للقراءة فقط.
description string وصف التقويم. للقراءة فقط.
updated datetime وقت آخر تعديل للتقويم (كطابع زمني RFC3339). للقراءة فقط.
timeZone string المنطقة الزمنية للتقويم. للقراءة فقط.
accessRole string دور وصول المستخدم إلى هذا التقويم. للقراءة فقط. القيم المتاحة:
  • "none" - لا يملك المستخدم الإذن بالوصول.
  • "freeBusyReader": يملك المستخدم الإذن بالاطّلاع على معلومات الحالة متوفّر/مشغول.
  • "reader" - يتوفر للمستخدم الإذن بالاطّلاع على التقويم. ستظهر الأحداث الخاصة للمستخدمين الذين لديهم إمكانية وصول للقراءة، ولكن سيتم إخفاء تفاصيل الحدث.
  • "writer": يمتلك المستخدم الإذن بالوصول إلى التقويم للقراءة والكتابة. ستظهر الأحداث الخاصة للمستخدمين الذين لديهم إذن وصول الكتاب، وستكون تفاصيل الحدث مرئية.
  • "owner" - يمتلك المستخدم التقويم. يمتلك هذا الدور جميع أذونات دور الكاتب مع إمكانية إضافية رؤية قوائم التحكم في الوصول (ACL) ومعالجتها.
defaultReminders[] list التذكيرات التلقائية في التقويم للمستخدم الذي تمت مصادقته. تنطبق هذه التذكيرات على جميع الأحداث في هذا التقويم والتي لا تتجاوزها بشكل صريح (أي لم يتم ضبط reminders.useDefault على "صحيح").
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?

تجربة

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