Можем ли мы использовать CalendarApp для просмотра событий из календаря не Google, на который мы подписаны (например, календарь Trello)? - PullRequest
1 голос
/ 24 октября 2019

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

Этот календарь от Trello (используется power-up для создания календаря на основе сроков), который предоставляет URL-адрес для подписки на Google. Когда я пытаюсь использовать тот же CalendarApp.getCalendarById(calendarId), он не может получить доступ к данным события и возвращает null.

Для справки, вот идентификатор календаря: mp9si8iqi6uop4a20pr0r1v000dc9pcu@import.calendar.google.com. Формат немного отличается от календарей Google, оканчивающихся на @group.calendar.google.com.

Можем ли мы получить доступ к информации календаря из импортированных календарей, подобных этим? Я тоже безуспешно пытался .getCalendarsByName(calendarName), но есть ли другой способ просмотреть эти данные и включить их в нашу электронную календарную таблицу? Любая помощь приветствуется!

Редактировать (по запросу)

Если мне было неясно, я попробовал следующее:

calendarId = "mp9si8iqi6uop4a20pr0r1v000dc9pcu@import.calendar.google.com";
CalendarApp.getCalendarById(calendarId);
//and
calendarName = "Collab, Events & Special Buy";
CalendarApp.getCalendarsByName(calendarName);

Только проблема с этим календарем, которая управляетсяот Trello

1 Ответ

1 голос
/ 25 октября 2019

Вы точно можете получить информацию из импортированных календарей. Пожалуйста, попробуйте использовать следующий код:

function myFunction() {
  var calendarId = "YOUR_CALENDAR_ID";
  var cal = CalendarApp.getCalendarById(calendarId);
  Logger.log(cal.getName());
  Logger.log(cal.getDescription());
  Logger.log(cal.getTimeZone());
  Logger.log(cal.getColor());
}

Запустите его и перейдите к View> Logs. Вы должны быть в состоянии увидеть информацию календаря. Я также рекомендую вам попробовать следующее:

Использовать функцию "Попробуйте этот API"

  • Перечислите все свои календари и найдите тот, который вам нужен ,Вы должны быть в состоянии найти его, а также извлечь его идентификатор. https://developers.google.com/calendar/v3/reference/calendarList/list

  • Список событий в вашем календаре . Вам нужно только установить значение calendarId, которое вы только что получили, и выполнить его. Вы должны видеть события в своем календаре. https://developers.google.com/calendar/v3/reference/events/list

...