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 اینکه آیا ورودی‌های فهرست تقویم حذف شده در نتیجه گنجانده شود یا خیر. اختیاری. حالت پیش فرض غلط است.
showHidden boolean آیا برای نشان دادن ورودی های پنهان. اختیاری. حالت پیش فرض غلط است.
syncToken string رمز به دست آمده از قسمت nextSyncToken در آخرین صفحه نتایج از درخواست لیست قبلی بازگردانده شد. این باعث می شود که نتیجه این درخواست لیست فقط شامل ورودی هایی باشد که از آن زمان تغییر کرده اند. اگر فقط فیلدهای فقط خواندنی مانند ویژگی‌های تقویم یا ACL تغییر کرده باشند، ورودی برگردانده نخواهد شد. همه ورودی‌های حذف شده و پنهان شده از درخواست لیست قبلی همیشه در مجموعه نتیجه خواهند بود و نمی‌توان showDeleted یا showHidden را روی False تنظیم کرد.
برای اطمینان از سازگاری حالت کلاینت، پارامتر query 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 ارائه می شود.

مثال ها

توجه: نمونه‌های کد موجود برای این روش همه زبان‌های برنامه‌نویسی پشتیبانی‌شده را نشان نمی‌دهند (برای فهرست زبان‌های پشتیبانی‌شده به صفحه کتابخانه‌های سرویس گیرنده مراجعه کنید).

جاوا

از کتابخانه سرویس گیرنده جاوا استفاده می کند.

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);

پایتون

از کتابخانه کلاینت پایتون استفاده می کند.

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 استفاده می کند.

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?

آن را امتحان کنید!

از APIs Explorer زیر برای فراخوانی این روش در داده‌های زنده و دیدن پاسخ استفاده کنید.