Events: instances

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

Запрос

HTTP-запрос

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

Параметры

Имя параметра Ценить Описание
Параметры пути
calendarId string Идентификатор календаря. Чтобы получить идентификаторы календаря, вызовите метод CalendarList.list . Если вы хотите получить доступ к основному календарю вошедшего в систему пользователя, используйте ключевое слово « primary ».
eventId string Идентификатор повторяющегося события.
Необязательные параметры запроса
alwaysIncludeEmail boolean Устарело и игнорируется. Значение всегда будет возвращаться в поле email для организатора, создателя и участников, даже если реальный адрес электронной почты недоступен (т. е. будет предоставлено сгенерированное нерабочее значение).
maxAttendees integer Максимальное количество участников, которое можно включить в ответ. Если участников больше указанного количества, возвращается только участник. Необязательный.
maxResults integer Максимальное количество событий, возвращаемых на одной странице результатов. По умолчанию значение составляет 250 событий. Размер страницы никогда не может превышать 2500 событий. Необязательный.
originalStart string Исходное время начала экземпляра в результате. Необязательный.
pageToken string Токен, указывающий, какую страницу результатов следует вернуть. Необязательный.
showDeleted boolean Включать ли в результат удаленные события (со status « cancelled »). Отмененные экземпляры повторяющихся событий по-прежнему будут включены, если singleEvents установлено значение False. Необязательный. По умолчанию установлено значение Ложь.
timeMax datetime Верхняя граница (эксклюзивная) времени начала события для фильтрации. Необязательный. По умолчанию фильтрация по времени начала не выполняется. Должна быть меткой времени RFC3339 с обязательным смещением часового пояса.
timeMin datetime Нижняя граница (включительно) времени окончания события для фильтрации. Необязательный. По умолчанию фильтрация по времени окончания не производится. Должна быть меткой времени RFC3339 с обязательным смещением часового пояса.
timeZone string Часовой пояс, использованный в ответе. Необязательный. По умолчанию используется часовой пояс календаря.

Авторизация

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

Объем
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 instances of a specific recurring event
String pageToken = null;
do {
  Events events =
      service.events().instances('primary', 'eventId').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().instances(calendarId='primary', eventId='eventId',
                                      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->instances('primary', "eventId");

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

Рубин

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

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