구글시트/Sheets

[구글시트] 구글캘린더 동기화 1.

Consomme 2024. 7. 24. 17:55
반응형

구글시트에 작성된 일정을 구글캘린더와 동기화하는 방법에 대해 포스팅을 했는데, 에러가 많아서 좀 더 간결하게 코드를 수정해 보았습니다.

 

구글시트를 구글캘린더와 동기화 하는 방법 1. 

 

목차

 

1. 구글시트 만들기

2. 데이터시트에서 데이터 불러오기

3. 구글캘린더 만들기 

위의 목차를 클릭하면 해당 글로 자동 이동 합니다.

 

1. 구글시트 만들기

구글캘린더와 동기화하기 위한 구글시트를 만듭니다. 저는 별도로 시트를 만들어서 가져오는 방식으로 만들었습니다.

데이터 시트 작성 ▶  캘린더와 동기화할 시트에 자동으로 가져오기 ▶ 캘린더와 동기화

데이터 시트에 새 데이터를 작성하면, 캘린더에 표기할 내용만 따로 캘린더와 동기화할 시트에 자동으로 가져와서 캘린더와 동기화 하는 것입니다.

캘린더에 동기화할 시트에 바로 작성하셔도 됩니다.

 

 

2. 데이터 시트에서 필요한 데이터만 가져오기

데이터시트에 작성된 데이터를 캘린더에 넣을 데이터만 가져오도록 했습니다.

"데이터입력"이라는 데이터 입력 시트입니다. 여러 정보가 함께 입력됩니다. 물론 이 시트에서 캘린더로 바로 동기화 해도 되지만 이 시트에 너무 많은 열로 인해 지저분하고 한눈에 보이지 않아 "구글캘린더"라는 별도의 시트를 만들었습니다.

구글캘린더와 동기화할 "구글캘린더"시트

시작일, 종료일, 제목, 내용을 가져오고 결과에는 동기화 여부를 체크하도록 했습니다.

별도의 데이터가 없다면 이 시트에 바로 작성하셔도 됩니다.

데이터 시트에서 입력되면 바로 반영될 수 있도록

=IMPORTRANGE(스프레드시트_URL, 범위_문자열)

위 함수를 사용하였습니다.

스프레드시트_URL 은 구글시트의 Url에서 가져옵니다.

스프레드시트_url

/edit? 앞까지가 스프레드시트의 url입니다.

시작일은 데이터시트의 b열에 있습니다. 

=importrange("https://docs.google.com/spreadsheets/d/......................................", "데이터시트!b2:b")

큰 따움표를 하셔야 합니다.

구글캘리더와 동기화할 내용 가져오기

데이터가 제대로 입력되었습니다.

 

3. 구글캘린더 만들기

구글캘린더

구글캘린더 추가하기

동기화 하려는 캘린더를 추가합니다.

새 캘린더 만들기

새 캘린더를 만듭니다.

캘린더 옵션

 

캘린더 옵션에 들어가 "설정 및 공유"를 클릭합니다.

캘린더ID

 캘린더 통합의 캘린더ID를 복사하여 AppScript 코드의 "캘린더ID"에 붙여넣기 합니다.

 

4. 문제점

글을 작성하다 보니 문제가 생겼습니다. 저는 데이터를 불러오는 것이기 때문에 한번에 행이 입력되지만, 직접입력하는 경우, 시작일만 작성해도 동기화가 진행되다보니 제목과 종료일 없이 동기화가 됩니다.

그래서 AppScript를 두가지 버전으로 구성해야 할것 같습니다.

두가지 버전

2024.07.24 - [구글 시트&앱시트] - [구글시트]구글캘린더 동기화 02. 버튼 동기화

2024.07.24 - [구글 시트&앱시트] - [구글시트] 구글캘린더 동기화 3. 자동동기화

 

 

반응형