Можем ли мы получать события для нескольких идентификаторов календаря с помощью API календаря Google?

Прямо сейчас Google Calendar API имеет list API, который принимает calendarId и предоставляет нам события этого календаря.

У меня есть сценарий, в котором мне нужно получить события для нескольких идентификаторов календаря.

Вместо того, чтобы перебирать несколько идентификаторов и запрашивать события календаря n количество раз, могу ли я просто передать несколько идентификаторов в одном запросе и получить их события?

Не уверен, есть ли у них поддержка API для этого сценария.


person Jaspreet Singh    schedule 24.01.2019    source источник


Ответы (2)


Нет, API не поддерживает это, каждый запрос API связан со своими уникальными ключами, которые предоставляют им доступ к одной учетной записи, каждый токен имеет возможность запрашивать подключение только из одной учетной записи, поэтому единственный вариант — перебирать каждый идентификатор по отдельности, это верно почти для всех API веб-серверов.

То же самое касается идентификатора календаря: в вызове API идентификатор календаря может быть только строкой, а в бэкэнде эта строка сопоставляется с идентификатором календаря пользователя, поэтому любая попытка добавить несколько идентификаторов приведет к нарушению всего запроса.

events = service.events().list(calendarId='primary', pageToken=page_token).execute()

В этом CalendarID должна быть строка, совпадающая с базой данных.

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

person anand_v.singh    schedule 24.01.2019
comment
Я использую уникальный токен/clientId только для одной конкретной учетной записи, и он не меняется для нескольких идентификаторов календаря. Используя только один токен, я получаю события для нескольких «ОБЩИХ» календарей. Извините, я пропустил это в вопросе выше. - person Jaspreet Singh; 24.01.2019
comment
@JaspreetSingh Тем не менее ответ остается прежним, вам придется перебрать все идентификаторы календаря, есть только один вызов функции, и он принимает только один идентификатор календаря в виде строки. Я отредактирую ответ соответственно. - person anand_v.singh; 24.01.2019

Привет, новичок в скрипте приложений,

Я скопировал код в новый файл сценария и изменил идентификатор календаря, теперь пытаясь найти способ сдвинуть ячейки вниз, чтобы второй календарь не просто заменял данные, вставленные первым календарем. Я отредактирую этот ответ, если/когда найду способ сделать это.

person Oliver Jarvis    schedule 01.02.2019