スプレッドシートの日付列を処理し、カレンダー (誕生日) にエントリを生成する小さな Google Apps Script があります。
作業は問題ありませんが、(最近作成された) CalendarEvent にリマインダーを追加すると、エラーがスローされます。
サービス エラー: CalendarApp: 不一致: etags = ["GUQKRgBAfip7JGA6WhJb"]、バージョン = [63489901413]
イベントの作成後に 1 秒間のスリープを実行しようとしましたが (カレンダーで変更が行われるのを待ちます)、うまくいきません...
ところで、イベントは正常に作成されますが、リマインダーのみを追加できません。
PD: カレンダーは私が所有しているものですが、メインのカレンダーではありません。
コードの一部を次に示します。
try
{
birthday = new Date(Data[i][BirthColumn]);
birthday.setFullYear(today.getFullYear());
birthday.setUTCHours(12);
birthlist += Data[i][NameColumn] + " --> " + birthday + "\n";
calendarevent = cal.createAllDayEventSeries("¡Cumpleaños " + Data[i][NameColumn] + "!", birthday, CalendarApp.newRecurrence().addYearlyRule().times(YearsInAdvance));
if (calendarevent == null)
success = false;
else
{
//This sentence fails every single time.
calendarevent.addEmailReminder(0);
calendarevent.addPopupReminder(0);
calendarevent.addSmsReminder(0);
}
}
catch (ee)
{
var row = i + 1;
success = false;
errlist += "Error on row " + row + ": check name and birth date. Exception Error: " + ee.message + "\n";
}