عرض التقاويم في قائمة التقاويم الخاصة بالمستخدم جرِّب ذلك الآن أو اطّلِع على مثال.
الطلب
طلب HTTP
GET https://www.googleapis.com/calendar/v3/users/me/calendarList
المعلمات
اسم المعلَمة | القيمة | الوصف |
---|---|---|
مَعلمات طلب البحث الاختيارية | ||
maxResults |
integer |
الحد الأقصى لعدد الإدخالات التي يتم عرضها في صفحة نتائج واحدة القيمة التلقائية هي 100 إدخال. لا يمكن أن يكون حجم الصفحة أكبر من 250 إدخالًا. اختياريّ. |
minAccessRole |
string |
الحد الأدنى لدور الوصول للمستخدم في الإدخالات المعروضة اختياريّ. الإعداد التلقائي هو عدم فرض أي قيود.
القِيَم المقبولة هي:
|
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?
جرّب الآن
استخدِم "مستكشف واجهات برمجة التطبيقات" أدناه لطلب هذه الطريقة على البيانات المباشرة والاطّلاع على الاستجابة.