実現したいこと
別アカウントの予定をgetEventByIdで取得し、その日付情報を取ったり、変更を掛けたりしたい。
前提
会社での納期管理の情報共有に同時編集が便利なスプレッドシートを使っています。
配送日の情報を配送担当者と共有するため、スプレッドシート上のデータを元にカレンダーに予定を自動で反映させるようにしています。
発生している問題・エラーメッセージ
予定の作成は問題なくできているのですが、getEventByIdで予定を取得しようとしてもnullが返ってきて取れない状態になっています。
エラーメッセージ
nullを返しており、予定の取得時にはエラーメッセージは出ません。
その後、nullの予定に対しメソッドを呼び出す時点でエラーとなります。
TypeError: Cannot read properties of null (reading 'getStartTime')
該当のソースコード
var event = CalendarApp.getEventById(eventID);
var eventDate = tempEvent.getStartTime();
GAS
試したこと
自分のアカウントでコードを書き実行していますが、予定を登録するカレンダーは共有用のアカウントでこの点が問題になっていないかと怪しんでいます。
というのは予定の登録先を自分のカレンダーにするとnullにならず想定通りの動きになるためです。(なのでeventIDの情報は正しいと言えます。)
他のアカウントのカレンダーの共有設定では、私のアカウントに対し「編集と共有の管理」まで許可している状態で、予定の作成はできますが、予定の取得がなぜかできません。
Webでは回答になる情報を見つけれておらず、もし情報をお持ちの方がいらっしゃればご教示頂けますと助かります。どうぞよろしくお願い致します。
<補足>
共有用のアカウントでGASを実行すれば対策になりますが、不便もあるため根本的な原因を突き止めたいと思っております。
0 コメント