質問編集履歴

5 ソースコードをMarkdown記法に修正致しました。作法もわからず申し訳ありません。宜しくお願い致します。

FrontChan

FrontChan score 17

2018/06/27 09:59  投稿

Googleカレンダーのイベント情報取得について
よろしくお願い致します。
GoogleAppScriptにて特定のイベントの位置情報を取得して同じ文字列が入っていたら登録させない。無ければ登録する。
という内容のものを作成しています。
```GoogleAppScript  
function sendToCalendar(e) {
 try{
   //有効なGoogleスプレッドシート
   var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
   //新規登録された行番号を取得
   var num_row = sheet.getLastRow();
   //新規登録された行から名前を取得
   var nname = sheet.getRange(num_row, *).getValue();
   //新規登録された行から予約された部屋名を取得
   var rname = sheet.getRange(num_row, *).getValue();
   //新規登録された内容から参加メンバーを取得
   var member = sheet.getRange(num_row, *).getValue();
   //メールアドレスの取得
   var nmail = sheet.getRange(num_row, *).getValue();
   //予約を記載するカレンダーを取得
   var cals = CalendarApp.getCalendarById("カレンダーのID");
   //開始時間を取得
   var stime = new Date(sheet.getRange(num_row, *).getValue());
   //終了時間を取得
   var etime = new Date(sheet.getRange(num_row, *).getValue());
   //用途を取得
   var youto = sheet.getRange(num_row, *).getValue();
   //お客様
   var guest = sheet.getRange(num_row, *).getValue();
   //予約日
   var ndate = new Date(sheet.getRange(num_row, *).getValue());
   //開始時間
   var ndates= new Date(ndate.getFullYear(),ndate.getMonth(),ndate.getDate(),stime.getHours(),stime.getMinutes(),0);
   //終了時間
   var ndatee= new Date(ndate.getFullYear(),ndate.getMonth(),ndate.getDate(),etime.getHours(),etime.getMinutes(),0);
   // 先約の有無
   if(cals.getEvents(ndates, ndatee)==0){
     var thing = youto;
     var descriptionBody = "【予約施設】:" + rname + "\n【参加対象】:" + member + "\n【お客様】:" + guest;
     var r = cals.createEvent(
       thing,
       ndates,
       ndatee,
       {
         description:descriptionBody
       }
     );
     var thing =nname+"様 \n\n 予定を登録致しました。"
     MailApp.sendEmail(nmail,"応接室・会議室予約",thing);
   }else{
     var thing =nname+"\n\n ご登録の時間に先約がありました。\n 申し訳ございません。登録いただけませんでした。\n\n ご予定を変更して再度お申込みください"
     MailApp.sendEmail(nmail,"ご登録できませんでした",thing);
   }
 } catch(exp){
   MailApp.sendEmail(nmail, exp.message, exp.message);
 }
}
```
という記述でイベント情報を取得出来て、getLocationでイベントの場所情報を取得出来るところまでは調べてわかったのですが、
イベントの場所もとなるとgetLocationが見つかりませんとなってしまいます。
どのように取得するのが良いでしょうか。
  • Google Apps Script

    1923 questions

    Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

4 情報の不足があるという事で、追記致します。

FrontChan

FrontChan score 17

2018/06/26 14:14  投稿

Googleカレンダーのイベント情報取得について
よろしくお願い致します。
GoogleAppScriptにて特定のイベントの位置情報を取得して同じ文字列が入っていたら登録させない。無ければ登録する。
という内容のものを作成しています。
var myCals = CalendarApp.getCalendarById("カレンダーのID");
function sendToCalendar(e) {
 try{
   //有効なGoogleスプレッドシート
   var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var ndates = "イベント開始時刻";
var ndatee = "イベント終了時刻";
   //新規登録された行番号を取得
   var num_row = sheet.getLastRow();
if(myCals.getEvents(ndates, ndatee)==0){}
   //新規登録された行から名前を取得
   var nname = sheet.getRange(num_row, *).getValue();
   //新規登録された行から予約された部屋名を取得
   var rname = sheet.getRange(num_row, *).getValue();
   //新規登録された内容から参加メンバーを取得
   var member = sheet.getRange(num_row, *).getValue();
   //メールアドレスの取得
   var nmail = sheet.getRange(num_row, *).getValue();
   //予約を記載するカレンダーを取得
   var cals = CalendarApp.getCalendarById("カレンダーのID");
   //開始時間を取得
   var stime = new Date(sheet.getRange(num_row, *).getValue());
   //終了時間を取得
   var etime = new Date(sheet.getRange(num_row, *).getValue());
   //用途を取得
   var youto = sheet.getRange(num_row, *).getValue();
   //お客様
   var guest = sheet.getRange(num_row, *).getValue();
   //予約日
   var ndate = new Date(sheet.getRange(num_row, *).getValue());
   //開始時間
   var ndates= new Date(ndate.getFullYear(),ndate.getMonth(),ndate.getDate(),stime.getHours(),stime.getMinutes(),0);
   //終了時間
   var ndatee= new Date(ndate.getFullYear(),ndate.getMonth(),ndate.getDate(),etime.getHours(),etime.getMinutes(),0);
   // 先約の有無
   if(cals.getEvents(ndates, ndatee)==0){
     var thing = youto;
     var descriptionBody = "【予約施設】:" + rname + "\n【参加対象】:" + member + "\n【お客様】:" + guest;
     var r = cals.createEvent(
       thing,
       ndates,
       ndatee,
       {
         description:descriptionBody
       }
     );
     var thing =nname+"様 \n\n 予定を登録致しました。"
     MailApp.sendEmail(nmail,"応接室・会議室予約",thing);
   }else{
     var thing =nname+"\n\n ご登録の時間に先約がありました。\n 申し訳ございません。登録いただけませんでした。\n\n ご予定を変更して再度お申込みください"
     MailApp.sendEmail(nmail,"ご登録できませんでした",thing);
   }
 } catch(exp){
   MailApp.sendEmail(nmail, exp.message, exp.message);
 }
}
という記述でイベント情報を取得出来て、getLocationでイベントの場所情報を取得出来るところまでは調べてわかったのですが、
イベントの場所もとなるとgetLocationが見つかりませんとなってしまいます。
どのように取得するのが良いでしょうか。
  • Google Apps Script

    1923 questions

    Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

3 情報に不足があるとのことなので、追記致しました。

FrontChan

FrontChan score 17

2018/06/26 14:13  投稿

Googleカレンダーのイベント情報取得について
よろしくお願い致します。
GoogleAppScriptにて特定のイベントの位置情報を取得して同じ文字列が入っていたら登録させない。無ければ登録する。
という内容のものを作成しています。
var myCals = CalendarApp.getCalendarById("カレンダーのID");
var ndates = "イベント開始時刻";
var ndatee = "イベント終了時刻";
if(myCals.getEvents(ndates, ndatee)==0){}
という記述でイベント情報を取得出来て、getLocationでイベントの場所情報を取得出来るところまでは調べてわかったのですが、
イベントの場所もとなるとgetLocationが見つかりませんとなってしまいます。
どのように取得するのが良いでしょうか。
  • Google Apps Script

    1923 questions

    Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

2 申し訳ありません。不足部分、まだありましたので、追記致しました。

FrontChan

FrontChan score 17

2018/06/26 11:45  投稿

Googleカレンダーのイベント情報取得について
よろしくお願い致します。
GoogleAppScriptにて特定のイベントの位置情報を取得して同じ文字列が入っていたら登録させない。無ければ登録する。
という内容のものを作成しています。
var myCals = CalendarApp.getCalendarById("カレンダーのID");
if(cals.getEvents(ndates, ndatee)==0){}
var ndates = "イベント開始時刻";
var ndatee = "イベント終了時刻";
if(myCals.getEvents(ndates, ndatee)==0){}
という記述でイベント情報を取得出来て、getLocationでイベントの場所情報を取得出来るところまでは調べてわかったのですが、
イベントの場所もとなるとgetLocationが見つかりませんとなってしまいます。
どのように取得するのが良いでしょうか。
  • Google Apps Script

    1923 questions

    Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

1 変数 calsに対しての説明が無く不明点が多いと思いましたので、追記編集致しました。

FrontChan

FrontChan score 17

2018/06/25 14:43  投稿

Googleカレンダーのイベント情報取得について
よろしくお願い致します。
GoogleAppScriptにて特定のイベントの位置情報を取得して同じ文字列が入っていたら登録させない。無ければ登録する。
という内容のものを作成しています。
 
var myCals = CalendarApp.getCalendarById("カレンダーのID");  
if(cals.getEvents(ndates, ndatee)==0){}
という記述でイベント情報を取得出来て、getLocationでイベントの場所情報を取得出来るところまでは調べてわかったのですが、
イベントの場所もとなるとgetLocationが見つかりませんとなってしまいます。
どのように取得するのが良いでしょうか。
  • Google Apps Script

    1923 questions

    Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る