- 投稿日:2024/12/25
- 更新日:2024/12/25

こんにちは!ニアです♪
あなたはGmailに届いた情報を使って、Googleカレンダーに登録したいと考えたことはありますか?
GASを使うことで、Gmailから自動でGoogleカレンダーに登録することができます。
実はGASを使わなくてもGmailからGoogleカレンダーに登録することもできますが、細かいカスタマイズができません。GASを使うことで細かいカスタマイズをすることができます。
是非こちらの記事を参考にし、面倒なことは全部プログラムにやらせてしまいましょう~♪
(1) GASを起動
GASを起動するには、スプレッドシートから拡張機能→Apps Scriptをクリックします。
(2) コードを入力
GASが起動したら赤枠のところに以下のコードをコピペします。
function addEventToCalendar() { const threads = GmailApp.search('subject:予約'); const mails = threads[0].getMessages(); const mail = mails[mails.length - 1];
const subject = mail.getSubject(); const body = mail.getBody(); const pbody = mail.getPlainBody(); const options = extractOptions(pbody); const startDateTime = extractStartDateTime(pbody); const endDateTime = extractEndDateTime(pbody); const calendar = CalendarApp.getDefaultCalendar(); const event = calendar.createEvent(subject, startDateTime, endDateTime, {description: options}); Logger.log('Event created: ' + event.getId()); } function extractOptions(body) { const options = body.match(/オプション:(.*)$/m); if ( !options ) { return null } const option = options[1].replace(/<("[^"]*"|'[^']*'|[^'">])*>/g,''); console.log(option); return option; } function extractStartDateTime(body) { const dateStrings = body.match(/受付日時:(.*)$/m); if ( !dateStrings ) { return null } const dateString = dateStrings[1].replace(/<("[^"]*"|'[^']*'|[^'">])*>/g,''); const formattedString = dateString.replace(/\//g, '-'); const dateObject = new Date(formattedString); console.log(dateObject); return dateObject; } function extractEndDateTime(body) { const dateStrings = body.match(/退出日時:(.*)$/m); if ( !dateStrings ) { return null } const dateString = dateStrings[1].replace(/<("[^"]*"|'[^']*'|[^'">])*>/g,''); const formattedString = dateString.replace(/\//g, '-'); const dateObject = new Date(formattedString); console.log(dateObject); return dateObject; }

続きは、リベシティにログインしてからお読みください