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 على "خطأ".
لضمان اتساق حالة العميل، لا يمكن تحديد معلَمة طلب البحث minAccessRole مع nextSyncToken.
في حالة انتهاء صلاحية syncToken، سيستجيب الخادم برمز الاستجابة 410 GONE، وعلى البرنامج محو مساحة التخزين وإجراء مزامنة كاملة بدون أي syncToken.
تعرَّف على مزيد من المعلومات عن المزامنة التزايدية.
اختياري. الإعداد التلقائي هو عرض جميع الإدخالات.

التفويض

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

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

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

نص الطلب

لا تقدِّم نص طلب باستخدام هذه الطريقة.

الرد

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

{
  "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?

جرّب الآن

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