Skip to content

Google Homeに共有カレンダーの内容を話してもらう

Google Homeは自分のGoogleアカウントのスケジュールは話してくれますが,
共有しているカレンダーのスケジュールは取得できないです.

個人的には共有カレンダーの内容の方が必要なことが多いので,
この問題の力技的な解決方法を紹介します.

共有カレンダーの内容を自分のカレンダーに書き込もう!って方法です.

Google Apps Scriptで共有カレンダーの内容を取得して, 自分のカレンダーに
書き込めば, Google Homeがそこから情報を取得してくれるっていうアイディアです.

スプレッドシートに以下のスクリプトを追加して,1ヶ月に1回実行できるようにしておけば,
1ヶ月分の内容を自分のカレンダーに写してくれます.便利.

実用的には1週間に1回の方が便利かもしれない.

function fetchSchedules(){
  // mail address
  var myMAIL = 'myMail@gmail.com';
  var shareMAIL = 'Share@gmail.com';
  
  var myCalendar = CalendarApp.getCalendarById(myMAIL);
  var shareCalendar = CalendarApp.getCalendarById(shareMAIL);
  
  //Get new a week schedules
  var sDate = new Date();
  var eDate = new Date();
  
  Utilities.formatDate(sDate, 'Asia/Tokyo', 'yyyyMMdd:hhmmss');
  Utilities.formatDate(eDate, 'Asia/Tokyo', 'yyyyMMdd:hhmmss');
  
  //Week eDate.setDate(eDate.getDate() + 7);
  eDate.setMonth(eDate.getMonth() + 1);
  
  var Schedules = shareCalendar.getEvents(sDate, eDate);
  
  //write schedules
  for(var index = 0; index < Schedules.length; index++){
    myCalendar.createEvent(Schedules[index].getTitle(), Schedules[index].getStartTime(), Schedules[index].getEndTime());
  }
  
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です