GoogleSpreadSheetでグーグルカレンダーを管理。

下記二つのサイトを参考にプログラムを組み、グーグルスプレッドシートでのグーグルカレンダー管理ができるように苦戦中です。

【Googlecalendarへの追加登録】
https://xn--t8j3bz04sl3w.xyz/spreadsheet/calendar-renkei/3703/2/
【編集・自動更新設定】
http://system.blog.uuum.jp/entry/2017/03/17/110000

エラーが出てしまったのですが、何分未熟で知識がないため
どう解決すれば良いか分からず（＞＜）
どなたかご教授頂けますと大変助かります！！
エラー箇所は■■■■で囲んであります。




/* カレンダーへイベントを登録する */
function getsheet() {

/*-前準備-*/

　　　//シートの項目を以下変数定義
　　　 　var sht, i, eventday, eventname, place,start, end, added;

　　　//shtを定義
　　　　sht = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet1");

　　　//シートの2行目〜最終行まで処理を繰り返す
　　　　for(i = 2; i <= sht.getLastRow(); i++) {

/*-前準備ここまで-*/


/*--スプレッドシートの値を取得して変数へ格納--*/ 

//i行1列目の値(イベント日)をeventdayへ格納
　eventday = sht.getRange(i, 1).getValue();

//開始日をUtilities.formatDateでフォーマットしてbへ格納
　var b = Utilities.formatDate(eventday,"JST","yyyy/MM/dd");

//i行2列目の値(イベントの名前)をeventnameへ格納
　eventname = sht.getRange(i,2).getValue();

//i行3列目の値（イベントの場所）をplaceへ格納
　place = sht.getRange(i,3).getValue();

//i行4列目の値(開始時刻)をstartへ格納
　var starttime = sht.getRange(i,4).getValue();

　var H = starttime.getHours();//starttimeの時間を取得してHへ格納
　var M = starttime.getMinutes();//starttimeの時間を取得してMへ格納
　var S = starttime.getSeconds();//starttimeの時間を取得してSへ格納

//new Dateメソッドで開始日時「yyMMdd hh:mm」をstartへ格納
　var start = new Date(b+" "+H+":"+M+":"+S);　

//i行5列目の値(終了時刻)をendへ格納
　var endtime = sht.getRange(i,5).getValue();

　var H1 = endtime.getHours();//endtimeの時間を取得してH1へ格納
　var M1 = endtime.getMinutes();//endtimeの分を取得してM1へ格納
　var S1 = endtime.getSeconds();//endtimeの秒を取得してS1へ格納

//new Dateメソッドで終了日時「yyMMdd hh:mm」をendへ格納
　var end = new Date(b+" "+H1+":"+M1+":"+S1);


/*--カレンダーへ登録--*/

//i行6列目の値(イベント登録有無)をaddedへ格納
　added = sht.getRange(i,6).getValue();

//addedの値が空白だったらカレンダー登録を実行
　if(added == "") {
　　Cal = CalendarApp.getCalendarById("Gmailアドレス");//<---ここを自分のgmailアドレスへ変更する

//指定のカレンダーIDへインベント登録
　　Cal.createEvent(eventname,start,end,{location:place});//createEvent(タイトル、開始日時、終了日時、オプション）

//カレンダー登録が終わったイベントのaddedへ「登録完了」を記入
　sht.getRange(i,6).setValue("登録完了");

　　}　　　//ifを閉じる
　}　　　　　　//forを閉じる
}　　　　　　　　//functionを閉じる


/*--編集できるようにする--*/
var HashSheet = function HashSheet(sheetName) {
  if (!sheetName) {
    throw new Error('sheetName must be specified');
  }
  this.sheetName = sheetName;

  this.sheet = SpreadsheetApp.getActive().getSheetByName(this.sheetName);
  if (!this.sheet) {
    throw new Error('sheet does not exist');
  }
};

HashSheet.prototype.destroy = function destroy() {
  this.sheet.getRange('A:B').clear();
};

HashSheet.prototype.read = function read() {
  var obj = {};
  var records = this.sheet.getRange('A:B').getValues();
  for (var i = 0; i < records.length; i++) {
    if (records[i][0]) {
      obj[records[i][0]] = records[i][1];
    }
  }
  return obj;
};

HashSheet.prototype.save = function save(obj) {
  var records = [];
  for (var key in obj) {
    if (!obj.hasOwnProperty(key)) {
      continue;
    }
    records.push([key, obj[key]]);
  }

  this.destroy();
  this.sheet.getRange(1, 1, records.length, 2).setValues(records);
};

var hashSheet = new HashSheet('sheet1');
var obj = hashSheet.read();
// 処理
hashSheet.save(obj);

var CalUtil = function CalUtil(calId) {
  this.calApp = CalendarApp.getCalendarById(calId);
  if (!this.calApp) {
    throw new Error('Calendar does not exist');
  }
};

CalUtil.prototype.deleteEvents = function deleteEvents() {
  var events = this.calApp.getEvents(new Date('1/1/1970'), new Date('1/1/2100'));
  for (var i = 0; i < events.length; i++) {
    events[i].deleteEvent();
  }
};

CalUtil.prototype.getEvents = function getEvents() {
  var obj = {};
  var events = this.calApp.getEvents(new Date('1/1/1970'), new Date('1/1/2100'));
  for (var i = 0; i < events.length; i++) {
    obj[events[i].getId()] = events[i];
  }
  return obj;
  
  // カレンダーイベントを Spreadsheet で管理する CalSheet のインスタンス生成
var calSheet = new CalSheet('Gmailアドレス', 'Calendar');

// CalendarApp のインスタンス
var calApp = calSheet.calUtil.calApp;

// Spreadsheet から情報を取得
var ss = SpreadsheetApp.getActive();
var records = ss.getRange('Sheet1!A:Z').getValues();

// それぞれの情報に対してカレンダーイベントの処理を行う
for (var i = 1; i < records.length; i++) {
  var record = records[i];
■■■■  var key = record[?];　　■■■■
  var title = record[?];
  var date = record[?];}

  // キーとなる情報を元にカレンダーイベントを取得
  var calEvent = calSheet.getEventByKey(key);

  // カレンダーイベントが無い場合は新規作成
  if (!calEvent) {
    calEvent = calApp.createAllDayEvent(title, date);
    // イベント作成後すぐに保存。スクリプトが途中で止まっても大丈夫なように
    calSheet.saveEventId(key, calEvent.getId());
  }

  //
  // カレンダーイベントの中身を更新
  //
 


宜しくお願い致しますm(__)m