Events: list

Возвращает события в указанном календаре. Попробуйте сейчас или посмотрите пример .

Запрос

HTTP-запрос

GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events

Параметры

Имя параметра Ценить Описание
Параметры пути
calendarId string Идентификатор календаря. Чтобы получить идентификаторы календаря, вызовите метод CalendarList.list . Если вы хотите получить доступ к основному календарю вошедшего в систему пользователя, используйте ключевое слово « primary ».
Необязательные параметры запроса
alwaysIncludeEmail boolean Устарело и игнорируется.
eventTypes string Типы событий, которые нужно вернуть. Необязательный. Этот параметр можно повторять несколько раз, чтобы возвращать события разных типов. Если не установлено, возвращает все типы событий.

Приемлемые значения:
  • « birthday »: специальные мероприятия, продолжающиеся целый день и повторяющиеся ежегодно.
  • « default »: Регулярные события.
  • « focusTime »: события времени фокусировки.
  • « fromGmail »: события из Gmail.
  • « outOfOffice »: события отсутствия на рабочем месте.
  • « workingLocation »: события рабочего места.
iCalUID string Указывает идентификатор события в формате iCalendar, который будет предоставлен в ответе. Необязательный. Используйте это, если хотите найти событие по его идентификатору iCalendar.
maxAttendees integer Максимальное количество участников, которое можно включить в ответ. Если участников больше указанного количества, возвращается только участник. Необязательный.
maxResults integer Максимальное количество событий, возвращаемых на одной странице результатов. Количество событий на результирующей странице может быть меньше этого значения или вообще отсутствовать, даже если событий, соответствующих запросу, больше. Неполные страницы можно обнаружить по непустому полю nextPageToken в ответе. По умолчанию значение составляет 250 событий. Размер страницы никогда не может превышать 2500 событий. Необязательный.
orderBy string В результате возвращается порядок событий. Необязательный. По умолчанию используется неопределенный стабильный порядок.

Приемлемые значения:
  • « startTime »: сортировка по дате/времени начала (по возрастанию). Это доступно только при запросе отдельных событий (т. е. параметр singleEvents имеет значение True).
  • « updated »: сортировка по времени последнего изменения (по возрастанию).
pageToken string Токен, указывающий, какую страницу результатов следует вернуть. Необязательный.
privateExtendedProperty string Ограничение расширенных свойств, заданное как propertyName=value. Соответствует только частным объектам. Этот параметр может повторяться несколько раз, чтобы возвращать события, соответствующие всем заданным ограничениям.
q string Условия произвольного текстового поиска для поиска событий, соответствующих этим условиям, в следующих полях:
  • summary
  • description
  • location
  • displayName участника
  • email участника
  • displayName организатора
  • email организатора
  • workingLocationProperties.officeLocation.buildingId
  • workingLocationProperties.officeLocation.deskId
  • workingLocationProperties.officeLocation.label
  • workingLocationProperties.customLocation.label

Эти поисковые запросы также сопоставляют предопределенные ключевые слова со всеми переводами заголовков отображения рабочего места, отсутствия на работе и событий рабочего времени. Например, поиск по запросу «Офис» или «Бюро» возвращает события рабочего местоположения типа officeLocation , тогда как поиск по запросу «Нет на работе» или «Абвесенд» возвращает события отсутствия на работе. Необязательный.

sharedExtendedProperty string Ограничение расширенных свойств, заданное как propertyName=value. Соответствует только общим свойствам. Этот параметр может повторяться несколько раз, чтобы возвращать события, соответствующие всем заданным ограничениям.
showDeleted boolean Включать ли в результат удаленные события (со status « cancelled »). Отмененные экземпляры повторяющихся событий (но не базовое повторяющееся событие) по-прежнему будут включены, если showDeleted и singleEvents равны False. Если showDeleted и singleEvents равны True, возвращаются только отдельные экземпляры удаленных событий (но не базовые повторяющиеся события). Необязательный. По умолчанию установлено значение Ложь.
showHiddenInvitations boolean Включать ли в результат скрытые приглашения. Необязательный. По умолчанию установлено значение Ложь.
singleEvents boolean Следует ли расширять повторяющиеся события на экземпляры и возвращать только отдельные одноразовые события и экземпляры повторяющихся событий, но не сами базовые повторяющиеся события. Необязательный. По умолчанию установлено значение Ложь.
syncToken string Токен, полученный из поля nextSyncToken , возвращенного на последней странице результатов предыдущего запроса списка. Результат этого запроса списка будет содержать только записи, которые изменились с тех пор. Все события, удаленные с момента предыдущего запроса списка, всегда будут в наборе результатов, и для showDeleted не разрешено устанавливать значение False.
Существует несколько параметров запроса, которые нельзя указывать вместе с nextSyncToken , чтобы обеспечить согласованность состояния клиента.

Это:
  • iCalUID
  • orderBy
  • privateExtendedProperty
  • q
  • sharedExtendedProperty
  • timeMin
  • timeMax
  • updatedMin
Все остальные параметры запроса должны быть такими же, как и для начальной синхронизации, чтобы избежать неопределенного поведения. Если срок действия syncToken истечет, сервер ответит кодом ответа 410 GONE, и клиент должен очистить свое хранилище и выполнить полную синхронизацию без какого-либо syncToken .
Узнайте больше об инкрементной синхронизации.
Необязательный. По умолчанию возвращаются все записи.
timeMax datetime Верхняя граница (эксклюзивная) времени начала события для фильтрации. Необязательный. По умолчанию фильтрация по времени начала не выполняется. Должна быть метка времени RFC3339 с обязательным смещением часового пояса, например 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Миллисекунды могут быть указаны, но они игнорируются. Если установлен timeMin , timeMax должен быть больше, чем timeMin .
timeMin datetime Нижняя граница (эксклюзивная) времени окончания события для фильтрации. Необязательный. По умолчанию фильтрация по времени окончания не производится. Должна быть метка времени RFC3339 с обязательным смещением часового пояса, например 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Миллисекунды могут быть указаны, но они игнорируются. Если установлен timeMax , timeMin должен быть меньше timeMax .
timeZone string Часовой пояс, использованный в ответе. Необязательный. По умолчанию используется часовой пояс календаря.
updatedMin datetime Нижняя граница времени последнего изменения события (в виде временной метки RFC3339 ) для фильтрации. Если указано, записи, удаленные с этого момента, всегда будут включены независимо от showDeleted . Необязательный. По умолчанию фильтрация по времени последнего изменения не производится.

Авторизация

Этот запрос разрешает авторизацию хотя бы с одной из следующих областей:

Объем
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events.readonly
https://www.googleapis.com/auth/calendar.events

Дополнительную информацию см. на странице аутентификации и авторизации .

Тело запроса

Не предоставляйте тело запроса с помощью этого метода.

Ответ

В случае успеха этот метод возвращает тело ответа следующей структуры:

{
  "kind": "calendar#events",
  "etag": etag,
  "summary": string,
  "description": string,
  "updated": datetime,
  "timeZone": string,
  "accessRole": string,
  "defaultReminders": [
    {
      "method": string,
      "minutes": integer
    }
  ],
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    events Resource
  ]
}
Имя свойства Ценить Описание Примечания
kind string Тип коллекции (" calendar#events ").
etag etag ETag коллекции.
summary string Название календаря. Только для чтения.
description string Описание календаря. Только для чтения.
updated datetime Время последнего изменения календаря (как временная метка RFC3339 ). Только для чтения.
timeZone string Часовой пояс календаря. Только для чтения.
accessRole string Роль доступа пользователя для этого календаря. Только для чтения. Возможные значения:
  • « none » — у пользователя нет доступа.
  • « freeBusyReader » — пользователь имеет доступ для чтения к информации о занятости.
  • « reader » — пользователь имеет доступ для чтения календаря. Частные события будут видны пользователям с доступом для чтения, но подробности о них будут скрыты.
  • « writer » — пользователь имеет доступ к календарю для чтения и записи. Частные события будут видны пользователям с правами записи, а подробности событий будут видны.
  • « owner » — пользователь является владельцем календаря. Эта роль имеет все разрешения роли писателя, а также дополнительную возможность просматривать списки ACL и управлять ими.
defaultReminders[] list Напоминания по умолчанию в календаре для аутентифицированного пользователя. Эти напоминания применяются ко всем событиям в этом календаре, которые не переопределяют их явным образом (т. е. не имеют значения reminders.useDefault в True).
defaultReminders[]. method string Метод, используемый в этом напоминании. Возможные значения:
  • « email » — напоминания отправляются по электронной почте.
  • « popup » — напоминания отправляются через всплывающее окно пользовательского интерфейса.

Требуется при добавлении напоминания.

записываемый
defaultReminders[]. minutes integer Количество минут до начала события, когда должно сработать напоминание. Допустимые значения: от 0 до 40320 (4 недели в минутах).

Требуется при добавлении напоминания.

записываемый
nextPageToken string Токен, используемый для доступа к следующей странице этого результата. Опускается, если дальнейшие результаты недоступны, и в этом случае предоставляется nextSyncToken .
items[] list Список событий в календаре.
nextSyncToken string Токен, используемый позднее для получения только тех записей, которые изменились с момента возврата этого результата. Опускается, если доступны дополнительные результаты, и в этом случае предоставляется nextPageToken .

Примеры

Примечание. Примеры кода, доступные для этого метода, не представляют все поддерживаемые языки программирования (список поддерживаемых языков см. на странице клиентских библиотек ).

Ява

Использует клиентскую библиотеку Java .

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.Event;
import com.google.api.services.calendar.model.Events;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Iterate over the events in the specified calendar
String pageToken = null;
do {
  Events events = service.events().list('primary').setPageToken(pageToken).execute();
  List<Event> items = events.getItems();
  for (Event event : items) {
    System.out.println(event.getSummary());
  }
  pageToken = events.getNextPageToken();
} while (pageToken != null);

Питон

Использует клиентскую библиотеку Python .

page_token = None
while True:
  events = service.events().list(calendarId='primary', pageToken=page_token).execute()
  for event in events['items']:
    print event['summary']
  page_token = events.get('nextPageToken')
  if not page_token:
    break

PHP

Использует клиентскую библиотеку PHP .

$events = $service->events->listEvents('primary');

while(true) {
  foreach ($events->getItems() as $event) {
    echo $event->getSummary();
  }
  $pageToken = $events->getNextPageToken();
  if ($pageToken) {
    $optParams = array('pageToken' => $pageToken);
    $events = $service->events->listEvents('primary', $optParams);
  } else {
    break;
  }
}

Руби

Использует клиентскую библиотеку Ruby .

page_token = nil
begin
  result = client.list_events('primary', 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-интерфейс ниже, чтобы вызвать этот метод для реальных данных и просмотреть ответ.