عرض التقاويم في قائمة التقاويم لدى المستخدم. جرِّبه الآن أو شاهد مثالاً.
الطلب
طلب 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 على "خطأ". لضمان اتساق حالة العميل، لا يمكن تحديد مَعلمة طلب البحث 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 ] }
اسم الموقع | القيمة | الوصف | Notes |
---|---|---|---|
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?
تجربة
يمكنك استخدام مستكشف واجهات برمجة التطبيقات أدناه لطلب هذه الطريقة على البيانات المباشرة والاطّلاع على الاستجابة.