1

현재 내가 일하는 회사 지부를위한 Google 사이트를 구축 중입니다. 이 사이트의 일부로 액세스 할 때 현재 사용자의 ID를 얻고 자바 스크립트를 사용하여 개인의 휴일 및 균일 요청과 같은 사용자 정의 페이지 컨텐츠를 생성하는 웹 앱을 호스팅하는 페이지가 있습니다.전화 걸기 사용자 캘린더 -GAS

이 페이지의 일환으로, 우리는 또한 페이지에서 사용자 자신의 차 달력을 표시하고 싶습니다. 나는 웹 앱 내에 캘린더를 삽입하는 방법을 알고 있지만 사용자의 캘린더를 호출하는 방법을 찾는 데 어려움을 겪고있다.

사용자 ID를 기반으로하는 방법이 있습니까? 아니면 모든 캘린더 ID를 수집 한 다음 페이지를로드 할 때 개인의 캘린더 ID를 데이터베이스에 문의해야합니까?

모든 의견을 환영합니다. 당신이 사용자의 달력을 얻으려면 때문에

+1

기본 캘린더 ID가 사용자 이메일 주소와 같지 않습니까? –

+0

@SandyGood 캘린더 ID로 생각하면, 그는 단일 사용자의 Gmail 계정 내에서 만들 수있는 것보다 여러 캘린더에 대한 ID를 의미합니다. –

+0

@SandyGood 예! 나는 심지어 그것을 알아 채지 않고 있었다. 고맙습니다. – dbr

답변

1

, 당신은 사용하여이 작업을 수행 할 수 있습니다

getAllOwnedCalendars() - 사용자가 소유 한 모든 달력을 가져옵니다.

// Determines how many calendars the user owns. 
var calendars = CalendarApp.getAllOwnedCalendars(); 
Logger.log('This user owns %s calendars.', calendars.length); 

getCalendarById(id) 주어진 ID와 달력을 취득.

// Gets the public calendar "US Holidays" by ID. 
var calendar = CalendarApp.getCalendarById(
'en.usa#[email protected]'); 
Logger.log('The calendar is named "%s".', calendar.getName()); 

getCalendarsByName(name) 는 사용자가 소유하거나 가입되어 지정된 이름의 달력을 모두 가져옵니다. 이름은 대소 문자를 구분하지 않습니다.

// Gets the public calendar named "US Holidays". 
var calendars = CalendarApp.getCalendarsByName('US Holidays'); 
Logger.log('Found %s matching calendars.', calendars.length); 
+0

기본 캘린더의 이메일 주소와 동일한 ID (내 사용법에 필요한 것)가 있다는 간단한 해결책이 제시되었지만, 첫 번째 함수가 내 자신보다 덜 간단한 사용법에 대해이 질문에 대한 답변을 원하는 다른 누구에게나 더 유용 할 것 같은 대답으로 표시 할 것입니다. 고맙습니다. – dbr