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 , возвращенного на последней странице результатов предыдущего запроса списка. Это заставляет результат этого запроса списка содержать только записи, которые изменились с тех пор. Если изменились только поля, доступные только для чтения, такие как свойства календаря или списки управления доступом, запись не будет возвращена. Все записи, удаленные и скрытые с момента предыдущего запроса списка, всегда будут в наборе результатов, и нельзя установить для showDeleted или showHidden значение False.
Чтобы обеспечить согласованность состояния клиента, параметр запроса 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 .

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 .

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?

Попытайся!

Используйте обозреватель API ниже, чтобы вызвать этот метод для оперативных данных и просмотреть ответ.