質問: cals.createEvent(thing, ndates, ndatee); のみに書き直して実行すると正常に動作しました。そのため、問題点はfor文の辺りにあると分かったのですが、どこを修正すれば良いか分かりません。ご教授お願いします。
回答: とりあえず 1 2 の現状の問題だけ解決しますね。 **Calendarクラス**には`gettitle()`というメソッドは存在しません。 下記リファレンスを読むことを強くオススメします。 (英語ですが、メソッドの一覧などがわかるので、なんとなく理解できると思います。) https://developers.google.com/apps-script/reference/calendar/calendar イベントのタイトルを取得したいので **CalendarEventクラス**の`getTitle()`ですね。 ``` var caltitle = cals.gettitle(nMachine); ``` カレンダーに登録されないのは、 ``` var calEvents = cals.getEvents(ndates, ndatee); var caltitle = cals.gettitle(nMachine); ``` 上記で`calEvents`に**CalendarEventクラス**の配列が入っていますので、ループして**CalendarEventクラス**を取り出し、それぞれに`getTitle()`します。 前提として、カレンダーのタイトルに装置名が入っているとすれば、 ``` var calEvents = cals.getEvents(ndates, ndatee, {search: nMachine}); if (calEvents.length === 0) { // カレンダーに同一装置で登録がないためそのまま登録可 } else { // カレンダーに同一装置で登録があるため登録不可 } ``` こんな感じでしょうか。 ただし、その他の部分でもかなり気になる部分があるので、 またエラーが出たりするかもしれませんね。。