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