CalendarList: list

عرض التقاويم في قائمة التقاويم الخاصة بالمستخدم جرِّب ذلك الآن أو اطّلِع على مثال.

الطلب

طلب HTTP

GET https://www.googleapis.com/calendar/v3/users/me/calendarList

المعلمات

اسم المعلَمة القيمة الوصف
مَعلمات طلب البحث الاختيارية
maxResults integer الحد الأقصى لعدد الإدخالات التي يتم عرضها في صفحة نتائج واحدة القيمة التلقائية هي 100 إدخال. لا يمكن أن يكون حجم الصفحة أكبر من 250 إدخالًا. اختياريّ.
minAccessRole string الحد الأدنى لدور الوصول للمستخدم في الإدخالات المعروضة اختياريّ. الإعداد التلقائي هو عدم فرض أي قيود.

القِيَم المقبولة هي:
  • "freeBusyReader": يمكن للمستخدم قراءة معلومات الحالة "متوفّر/مشغول".
  • "owner": يمكن للمستخدم قراءة الأحداث وقوائم التحكّم في الوصول وتعديلها.
  • "reader": يمكن للمستخدم قراءة الأحداث غير الخاصة.
  • "writer": يمكن للمستخدم قراءة الأحداث وتعديلها.
pageToken string رمز مميّز يحدّد صفحة النتائج التي سيتم عرضها. اختياريّ.
showDeleted boolean ما إذا كنت تريد تضمين إدخالات قائمة التقويم المحذوفة في النتيجة اختياريّ. القيمة التلقائية هي False.
showHidden boolean ما إذا كان سيتم عرض الإدخالات المخفية اختياريّ. القيمة التلقائية هي False.
syncToken string الرمز المميّز الذي تم الحصول عليه من الحقل nextSyncToken الذي تم إرجاعه في الصفحة الأخيرة من النتائج من طلب القائمة السابق. يؤدي ذلك إلى أن تتضمّن نتيجة طلب القائمة هذه الإدخالات التي تغيّرت منذ ذلك الحين فقط. إذا تغيّرت الحقول للقراءة فقط، مثل خصائص التقويم أو قوائم التحكّم في الوصول، لن يتم عرض الإدخال. ستكون جميع الإدخالات المحذوفة والمخفية منذ طلب القائمة السابق في مجموعة النتائج دائمًا، ولا يُسمح بضبط showDeleted أو showHidden على False.
لضمان اتّساق حالة العميل، لا يمكن تحديد مَعلمة طلب البحث minAccessRole مع nextSyncToken.
في حال انتهاء صلاحية syncToken، سيستجيب الخادم برمز الاستجابة 410 GONE، ويجب أن يُفرِغ العميل مساحة التخزين ويكتمل لديه إجراء المزامنة بالكامل بدون أي syncToken.
مزيد من المعلومات عن المزامنة المتزايدة
اختياري. الإعداد التلقائي هو عرض جميع الإدخالات.

التفويض

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

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

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

نص الطلب

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

الردّ

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

{
  "kind": "calendar#calendarList",
  "etag": etag,
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    calendarList Resource
  ]
}
اسم السمة القيمة الوصف ملاحظات
kind string نوع المجموعة ("calendar#calendarList").
etag etag علامة ETag للمجموعة
nextPageToken string الرمز المميّز المستخدَم للوصول إلى الصفحة التالية من هذه النتيجة يتم حذفها إذا لم تتوفّر نتائج أخرى، وفي هذه الحالة يتم عرض nextSyncToken.
items[] list التقاويم المتوفّرة في قائمة تقويم المستخدم
nextSyncToken string الرمز المميّز المستخدَم في وقت لاحق لاسترداد الإدخالات التي تغيّرت فقط منذ عرض هذه النتيجة يتم حذفه إذا كانت هناك نتائج أخرى متاحة، وفي هذه الحالة يتم توفير nextPageToken.

أمثلة

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

Java

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

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.CalendarList;
import com.google.api.services.calendar.model.CalendarListEntry;

// ...

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

// Iterate through entries in calendar list
String pageToken = null;
do {
  CalendarList calendarList = service.calendarList().list().setPageToken(pageToken).execute();
  List<CalendarListEntry> items = calendarList.getItems();

  for (CalendarListEntry calendarListEntry : items) {
    System.out.println(calendarListEntry.getSummary());
  }
  pageToken = calendarList.getNextPageToken();
} while (pageToken != null);

Python

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

page_token = None
while True:
  calendar_list = service.calendarList().list(pageToken=page_token).execute()
  for calendar_list_entry in calendar_list['items']:
    print calendar_list_entry['summary']
  page_token = calendar_list.get('nextPageToken')
  if not page_token:
    break

PHP

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

$calendarList = $service->calendarList->listCalendarList();

while(true) {
  foreach ($calendarList->getItems() as $calendarListEntry) {
    echo $calendarListEntry->getSummary();
  }
  $pageToken = $calendarList->getNextPageToken();
  if ($pageToken) {
    $optParams = array('pageToken' => $pageToken);
    $calendarList = $service->calendarList->listCalendarList($optParams);
  } else {
    break;
  }
}

Ruby

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

page_token = nil
begin
  result = client.list_calendar_lists(page_token: page_token)
  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?

جرّب الآن

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