CalendarList.List Возвращает календари в списке календарей пользователя.
Это не обязательно все календари, к которым у пользователя есть доступ. Список пользователей в календаре отображается в левой нижней части веб-приложения Google Calendar
Когда пользователю предоставляется доступ к новому календарю, который он принимает доступ по электронной почте. Когда они это делают, календарь обычно добавляется в их calendarlist.list. Этого не происходит с учетной записью службы, поскольку у нее нет возможности проверить электронную почту и принять приглашение, к которому у него есть доступ.
Если вы хотите, чтобы календари были добавлены в список календарей учетных записей служб, вам потребуется вставить их через сервисную учетную запись. использование calendarlist.insert
Я не уверен, почему вы думаете, что это работало в прошлом, я использовал этот API в течение многих лет и никогда не беспокоился об использовании calenadarlist с учетными записями служб по этой самой причине.
- Пользователь делится своим календарем с электронной почтой учетной записи службы 2. При выполнении CalendarList / List мы ожидаем вернуть все календари, включая тот, который был опубликован на шаге 1 Ситуация такова, что вызов API возвращает только «ранее открытые» календари, но не тот, которым мы делимся сейчас. Надеюсь, я уточнил все - если нет, пожалуйста, задайте конкретные c вопросы, спасибо!
Не существует метода, который возвращал бы все календари, к которым у пользователя есть доступ. TBH ответ будет огромным, учитывая, что все публичные c календари там, в дикой природе, они также будут возвращены.
Совет по использованию учетных записей sercice.
учетные записи служб не предназначены для того, чтобы вы выдавали пользователям разрешение на предоставление им доступа к своим календарям. Сервисные учетные записи предназначены для вас, чтобы разработчик имел календарь stati c, который вы можете использовать в своем приложении, и сохранять в нем данные.
Если вы обращаетесь к календарю пользователей, вам следует использовать Oauth2 и сохранить маркер refre sh, если вам нужен доступ к их данным, когда они не подключены к сети.
Сообщить о проблеме
В последнее время было много изменений в учетных записях служб и календаре Google. Я сам сообщал о проблемах с серверами в течение последних нескольких месяцев выпуск форума Я предлагаю вам представить это как проблему. Ссылка здесь, и я посмотрю, смогу ли я найти свой контакт в этой команде, чтобы пинговать о проблеме.