Функция eventOpenTrigger не возвращает подробные сведения о событии в ответе объекта события - PullRequest
1 голос
/ 21 апреля 2020

В файле appsscript. json, когда срабатывает событие eventOpenTrigger, будет вызываться функция onCalendarEventOpen.

 "calendar": {
       ....
      "currentEventAccess": "READ_WRITE", 
      "eventOpenTrigger": {
        "runFunction": "onCalendarEventOpen"
      },
      "eventUpdateTrigger": {
        "runFunction": "onCalendarEventUpdate"
      }
    }

В onCalendarEventOpen я создал консольный журнал для получения подробной информации о событии.

function onCalendarEventOpen(e){
  ...
  console.log(JSON.stringify(e));
  ...
}

Из console.log я могу получить данные ниже, которые содержат ссылку, посетители и др. c. подробности, но он не содержит имени события, сводки, времени, сведений о местоположении.

{"calendar":{"capabilities":{"canSeeConferenceData":true,"canSeeAttendees":true,"canAddAttendees":true,"canSetConferenceData":true},"calendarId":"xyz@gmail.com","organizer":{"email":"xyz@gmail.com"},"id":"2a2gdhrpmcpm8rmav4s2sam8nc"},"userCountry":"","userLocale":"en","hostApp":"calendar","clientPlatform":"web","commonEventObject":{"userLocale":"en","hostApp":"CALENDAR","timeZone":{"offset":19800000,"id":"Asia/Kolkata"},"platform":"WEB"},"userTimezone":{"offSet":"19800000","id":"Asia/Kolkata"}}

Как получить имя события, описание и другие подробности, связанные с событием, в eventOpenTrigger?

1 Ответ

1 голос
/ 21 апреля 2020

Ответ:

Вы можете сделать вызов Calendar.Events: get, чтобы получить информацию о событии, используя информацию, предоставленную в объекте события.

Фрагмент кода :

Использование службы CalendarApp Apps Script:

function onCalendarEventOpen(e) {
  var event = CalendarApp.getCalendarById(e.calendarId).getEventById(e.id);

  Logger.log(event.getTitle());        // Event name
  Logger.log(event.getDescription());  // Event description
}

Или использование службы Advanced Calendar:

function onCalendarEventOpen(e) {
  var event = Calendar.Events.get(e.calendarId, e.id)

  Logger.log(event.summary);      // Event title
  Logger.log(event.description);  // Event description
}

Убедитесь, что включена функция Calendar Advanced. Служба, если вы используете эту опцию, из пункта меню Resources > Advanced Google Services... в пользовательском интерфейсе скриптов приложений.

Надеюсь, это вам пригодится!

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...