質問: cal[0]にしてみた。 デバッグ cals[0] Array (1039041955) [] stime[0] Date (1039038322) Sat Dec 30 1899 10:00:00 GMT+0900 (JST) etime[0] Date (1039038137) Sat Dec 30 1899 11:00:00 GMT+0900 (JST) r undefined undefined その他必要な情報がありましたらお知らせください。
回答: カレンダーが取得できてません。 (多分ここは大丈夫だとは思いますが、このスクリプトを書いているユーザ(質問者様?)にこのカレンダーが公開されていることを確認してください) ``` var cals = CalendarApp.getCalendarsByName("xxx@group.calendar.google.com"); ``` おそらくそんな名前のカレンダーじゃないと思うので ``` var cals = CalendarApp.getCalendarById("xxx@group.calendar.google.com"); ^^ここ、ByIdのときはCalendarsではなくCalendarになります ``` こうしたうえで、cals[0]を全部calsで書き直してください。つまり↓ ``` function sendToCalendar(e) { //有効なGooglesプレッドシートを開く var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); //新規予約された行番号を取得 var num_row = sheet.getLastRow(); //新規予約された行からお客様名を取得 var thing = sheet.getRange(num_row, 5).getValue(); //予約を記載するカレンダーを取得 var cals = CalendarApp.getCalendarById("xxx@group.calendar.google.com"); //予約の開始時間を取得 var stime = new Date(sheet.getRange(num_row, 3).getValue()); //予約の開始時間から終了時間を設定 var etime = new Date(sheet.getRange(num_row, 3).getValue()); etime.setMinutes(etime.getMinutes()+60); //予約情報をカレンダーに追加 var r = cals.createEvent(thing, stime, etime); } ``` ※この質問に関係ない部分は見てませんので、動かない他の原因が出た場合は新規の質問をおねがいします。