前回質問:https://teratail.com/questions/279473
上記の質問よりGoogleカレンダーの予定のイベントIDが必要なのですが、下記のコードではイベントIDが書き出されていないようで、解決案をお教えいただきたく質問いたしました。
下記のコードで行っていることは
スプレッドシート上の予約日を参照にタイトルは「名前」、説明欄に「電話番号」予定を入れ、処理後にイベントIDを書き出す、というような処理を行なっております。
しかし、書き出されたイベントIDは「yyyyyy@google.com」といった形で、Googleカレンダー上で対象の予定を開いてイベントIDを確認したところ、さらに長く、文字列も違うIDでした。
下記のコード上で正式なイベントIDの書き出し方がわかりません。
ご教授願います。。
GAS処理前
|名前|電話番号|予約日|イベントID
|:--|:--:|--:|
|aa|09000000000|2020/7/24|
GAS処理後
|名前|電話番号|予約日|イベントID
|:--|:--:|--:|
|aa|09000000000|2020/7/24|yyyyyy@google.com
javascript
1function addTaskEvents() { 2 3var cal = CalendarApp.getCalendarById('xxxxxxxxxxxxxxxxx@group.calendar.google.com'); //カレンダーIDでカレンダーを取得 4 5var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet(); 6 var mySheet = objSpreadsheet.getSheetByName("予約"); 7 var dat = mySheet.getDataRange().getValues(); //シートデータを取得 8 9for(var i=1;i<dat.length;i++){ 10 if(dat[i][3] == ""){ 11 12/* 日時をセット */ 13 var evtDate = new Date(dat[i][2]); 14 var evTime = "18:00" 15 var Name =dat[i][0] 16 var option =dat[i][1] 17 18var myEvt = cal.createEvent(Name , evtDate , evtTime , option); 19} 20 21dat[i][3]= myEvt.getID();//イベントIDを入力 22} 23mySheet.getRange(1,1,i,3).setValues(dat); 24}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/24 09:49