[Google AppsScript] Google Calendar 프로그램에 묻힌 Zoom의 URL을 찾는 방법
개요
API를 통해 Zoom의 Add-on이 Google Calendar와 연합할 때 설정한 Zoom의 회의 URL을 얻으려고 합니다.
Google AppScript의 Calendar의 Calendar Event 클래스를 사용하는 방법은 불가능합니다.
이벤트에 대한 conference Data를 얻으려면 REST API를 사용해야 합니다.
일의 발생은...
설정된 MTG를 일람표로 웹에(HTML로) 공개하고 싶어 기존 달력에 설정된 MTG에서 제목, URL, 경로 코드 등을 따내려는 것이다.
일단 해보세요.
function myFunction() {
const events = CalendarApp.getDefaultCalendar().getEventsForDay(new Date());
console.log(events[0].getLocation());
}
다만, MTG 장소로 수동으로 설정된 URL은 얻을 수 있지만, Add-on에서 설정된 URL은 떼어내지 않았다.그나저나 애디온에 설정하면 이런 느낌이에요.
그런 함수는 없어 보이지만
없는 것 같은데.
Calendar Event 참조보아하니 없다.
참고로
getAllTagKeys()
를 사용하면 meetingId
,meetingParams
를 얻을 수 있기 때문에 getTag("meetingParams")
를 시도해 보았지만 다음과 같은 데이터만 얻을 수 있습니다.{"topic":"テスト","type":2,"start_time":"2021-07-07T17:00:00+09:00","duration":30,"timezone":"Asia/Tokyo"}
조사해 보았다
표준 구글 메트는 사용할 수 있기 때문에 한굿의 URL이 원래 어디에 놓여 있었는지 조사했지만, 미팅팔람스 등에는 들어가지 않았다.
스케이트를 탈 수밖에 없다.
calendar api hangout url
에서 해봤어요.찾은 것은 Events | Calendar API | Google Developers입니다.
여기도
hangoutLink
가 있지만 conferenceData
가 있으니 본명인 것 같다.function myFunction() {
const calendarId = "[email protected]";
Calendar.Events.list(calendarId, {});
}
라면 괜찮은데, 이때Calendar.Events
같은 보완 기능은 효과가 없다.서비스 추가
이렇게 Calendar API를 서비스로 컴파일해야 합니다.
Calendar.Events.list(calendarId, {})["items"].forEach( (event) => {
console.log(Calendar.Events.get(calendarId, event.getId()));
});
이후list를 통해 얻고 정상적으로 얻은 경우 응답에 items
가 포함되어 있기 때문에 상술한 바와 같이// 一部省略
{
htmlLink: '****',
description: '***',
id: '***',
status: 'confirmed',
summary: 'タイトル',
conferenceData:
{
entryPoints: [ [Object], [Object], [Object] ],
}
}
conferenceData.entryPoints
에 필요한 데이터가 있으니 얻으면 됩니다.또한list 방법에 매개 변수를 제공하지 않으면 처음부터 100개를 꺼내야 하니 주의하세요.
timeMin
같은 거 주면 돼요.
Reference
이 문제에 관하여([Google AppsScript] Google Calendar 프로그램에 묻힌 Zoom의 URL을 찾는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/tetsunosuke/articles/ba215eeb0313b5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)