Googleフォームからカレンダー招待(備忘録)
背景・目的
- 社内勉強会などでよく参加申し込みフォームを作成するため備忘録的に
- Googleフォームの回答結果が入るSSでカレンダー招待するスクリプトを作成
- 事後のアンケートを送信したりするので、SSにアドレスが残っていると楽なため
手順
- フォーム作成
- フォームにSSに関連付け
- SSのスクリプトエディタでコード編集
- 初回実行時は認証処理必要
- トリガー作成
- フォーム送信時のトリガーを作成
スクリプト
entry.gs
// シート情報:要変更
var SS_ID = "シートID"; // GoogleスプレッドシートのURLから
var SH_NAME = "フォームの回答 1"; // シートの名前
// カレンダー情報:要変更
var EVENT_DATE = '2020/01/01';// 開催日
var EVENT_TITLE = "カレンダー予定名"; // タイトル
function addGuest() {
var sh = SpreadsheetApp.openById(SS_ID).getSheetByName(SH_NAME);
var r = sh.getLastRow();
var c = sh.getLastColumn();
//カレンダー情報
var date = new Date(EVENT_DATE);
var options = {
search: EVENT_TITLE
}
var events = CalendarApp.getEventsForDay(date, options);
var id = events[0].getId();
var event = CalendarApp.getEventById(id);
// アドレス取得
var target = sh.getRange(r, 2); // 1列目は送信日時、2列目が送信者アドレス
var address = target.getValues();
// カレンダー追加
event.addGuest(address[0][0]);
}
- フォーム作成
- フォームにSSに関連付け
- SSのスクリプトエディタでコード編集
- 初回実行時は認証処理必要
- トリガー作成
- フォーム送信時のトリガーを作成
スクリプト
entry.gs
// シート情報:要変更
var SS_ID = "シートID"; // GoogleスプレッドシートのURLから
var SH_NAME = "フォームの回答 1"; // シートの名前
// カレンダー情報:要変更
var EVENT_DATE = '2020/01/01';// 開催日
var EVENT_TITLE = "カレンダー予定名"; // タイトル
function addGuest() {
var sh = SpreadsheetApp.openById(SS_ID).getSheetByName(SH_NAME);
var r = sh.getLastRow();
var c = sh.getLastColumn();
//カレンダー情報
var date = new Date(EVENT_DATE);
var options = {
search: EVENT_TITLE
}
var events = CalendarApp.getEventsForDay(date, options);
var id = events[0].getId();
var event = CalendarApp.getEventById(id);
// アドレス取得
var target = sh.getRange(r, 2); // 1列目は送信日時、2列目が送信者アドレス
var address = target.getValues();
// カレンダー追加
event.addGuest(address[0][0]);
}
entry.gs
// シート情報:要変更
var SS_ID = "シートID"; // GoogleスプレッドシートのURLから
var SH_NAME = "フォームの回答 1"; // シートの名前
// カレンダー情報:要変更
var EVENT_DATE = '2020/01/01';// 開催日
var EVENT_TITLE = "カレンダー予定名"; // タイトル
function addGuest() {
var sh = SpreadsheetApp.openById(SS_ID).getSheetByName(SH_NAME);
var r = sh.getLastRow();
var c = sh.getLastColumn();
//カレンダー情報
var date = new Date(EVENT_DATE);
var options = {
search: EVENT_TITLE
}
var events = CalendarApp.getEventsForDay(date, options);
var id = events[0].getId();
var event = CalendarApp.getEventById(id);
// アドレス取得
var target = sh.getRange(r, 2); // 1列目は送信日時、2列目が送信者アドレス
var address = target.getValues();
// カレンダー追加
event.addGuest(address[0][0]);
}
Author And Source
この問題について(Googleフォームからカレンダー招待(備忘録)), 我々は、より多くの情報をここで見つけました https://qiita.com/11anbai/items/97b49a2fded501bf94d5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .