GASによるGoogleカレンダー操作方法まとめ(予定取得/作成/削除/追加/色など)

スケジュール管理ツールのGoogleカレンダーを、Google Apps Scriptで操作する方法をまとめてみました。

これまでに紹介してきた、予定取得から、予定の新規作成、削除、説明や場所の追加など、GoogleカレンダーをGASスクリプトで実行するやり方を解説します。

GoogleカレンダーはGASで操作可能

Googleカレンダーは、検索でお馴染みのグーグル社が提供するスケジュール管理ソフトです。

Googleアカウントさえあれば、無料でパソコンやスマホなどのマルチデバイスで利用することができます。

Gmailのメールを予定に追加が簡単にできるなど、Googleの他のサービスと連携しやすいメリットがあります。

そんなGoogleカレンダーの基本的な使い方は、ユーザーがパソコンやスマホでGoogleカレンダーにアクセスし、予定を参照したり、予定を作成します。

しかし、Google Apps Script(GAS)を利用すると、Googleカレンダーをコードを通して操作することができます。

プログラムによるGoogleカレンダーの各種操作が実行可能なので、色々な自動化が実現可能です。

Google Apps ScriptのGoogleカレンダー操作一覧

Google Apps Script(GAS)で実現可能なGoogleカレンダーの主要な操作として、以下が挙げられます。

  1. 予定の取得・参照
  2. 予定の新規作成(登録)
  3. 予定の修正・削除(日時変更)
  4. 予定の色を設定
  5. 予定の説明や場所の追加
  6. 予定のリマインダー・通知追加
  7. 予定を参照できるユーザーの追加

すべての操作がGASで実行できるわけではありませんが、日常的によく利用する機能の多くはGASのコードから実行できます。

①GASでGoogleカレンダーの予定取得

Google Apps Scriptを使って、Googleカレンダーの予定を取得することができます。

GASでGoogleカレンダーの予定を取得する方法!指定期間内のイベントを抽出

実行アカウントのデフォルトのカレンダーを取得する方法もありますが、解説記事ではカレンダーIDを指定して取得します。

カレンダーIDを指定するやり方だと、自分のカレンダー以外でも参照可能なカレンダーを取得できます。

getEventsメソッドを使えば、開始日と終了日に指定した期間内のGoogleカレンダーのすべての予定を取得可能です。

戻り値としてはEventクラスの配列としてデータが格納されるため、Forループなどで取得した予定の処理を実行できます。

②Googleカレンダーの予定の新規作成・登録

Google Apps Scriptでは、Googleカレンダーから予定を取得するだけでなく、予定を新しく登録することも可能です。

GASでGoogleカレンダーの予定を登録する方法!自動でイベントを作成

createEventメソッドで件名と開始日+終了日の3つの引数で予定を新規作成します。

また、createAllDayEventメソッドを使えば、1日終日イベントも登録することができます。

GASスクリプトでGoogleカレンダーの予定を新規作成するようにすれば、自動的な予定登録のプログラムが出来上がります。

③Googleカレンダーの予定の修正・削除

①ではGoogleカレンダーの予定を取得しましたが、取得した予定を修正したり、削除したりすることもGoogle Apps Scriptではできます。

GASでGoogleカレンダーの予定を変更・削除する方法!件名や開始日・終了日(時間)を修正

setTitleメソッドやsetTimeメソッドで予定の件名(タイトル)や開始時間、終了時間を上書きして変更することが可能です。

さらに、deleteEventメソッドを削除したい予定のオブジェクトで実行すると、Googleカレンダーから予定を削除することもできます。

こうした機能を活用すれば、Googleカレンダーの予定とスプレッドシートを連携し、スプレッドシート上で管理している予定を変更すれば、Googleカレンダーにも反映できるツールがGASで作れます。

④Googleカレンダーの予定に色をGASで設定

Googleカレンダーで予定の種類を見分けるために活用するのが予定の色設定です。

こうした予定で設定できる色についてもGoogle Apps Scriptで設定できます。

Googleカレンダーの予定の色をGASスクリプトから変更する方法(setColorメソッド)

色を変更・セットしたい予定オブジェクトで、setColorメソッドを実行すると予定の色を変えることができます。

Googleカレンダーの予定に設定可能な色は11種類あり、それぞれ番号が振られているので、setColorメソッドの引数に指定します。

⑤GASで予定の場所や説明文を追加

Googleカレンダーから取得した予定の設定追加として、予定の場所情報や説明文もGASで追加できます。

Googleカレンダーの予定に説明と場所をGASで追加・削除する方法

予定の場所を追加する場合はsetLocationメソッド、予定の説明を追加する場合はsetDescriptionメソッドを使用します。

なお、場所や説明を削除したい場合も同じメソッドで引数に空白で指定すれば、設定済みのものを削除できます。

⑥Googleカレンダーの予定通知やリマインダーを設定

Googleカレンダーには、端末のデスクトップ通知や、GoogleアカウントのGmail宛に予定のリマインダーを送る機能が用意されています。

このメールとデスクトップ通知による予定リマインダーもGoogle Apps Scriptで設定可能です。

Googleカレンダーの予定リマインダーをGASで設定する方法(メールとデスクトップ通知)

addEmailReminderメソッドを設定すると、メールで○分前に通知というリマインドが設定できます。

addPopupReminderメソッドを設定すると、デスクトップ通知で○分前にGoogleカレンダーからリマインダーが表示されます。

addSmsReminderメソッドという恐らくSMSによるリマインダーのコマンドもGASにはありますが、こちらは実行しても特に設定されないため、現在は利用できません。

GASでGoogleカレンダーとSlackを連携も

GoogleカレンダーとSlackを組み合わせたGoogle Apps Scriptのアプリケーションとして、予定をSlackに通知するツールも作成してみました。

Googleカレンダーの予定をSlackにGASで毎日通知する(無料で簡単設定)

仕事始める際にわざわざGoogleカレンダーをチェックするよりも、仕事で使うチャットツールに1日の予定が表示される方が便利なケースがあります。

Google Apps Scriptを使えば、1日のGoogleカレンダーの予定をすべて取得できるので、それをSlackのチャンネルまたはダイレクトメッセージに投稿します。

GASにはスケジュール実行機能も備わっているので、朝7~8時に1日の予定が投稿され、Slackをチェックするだけでスケジュール管理ができます。

GoogleカレンダーとGASを組み合わせれば、スケジュールにおいて色々が業務改善が生まれます。

まとめ・終わりに

今回、Google Apps Script(GAS)でGoogleカレンダーの各種操作方法について、まとめて紹介しました。

Googleカレンダーを取得する方法から、予定参照、予定の新規登録、予定の修正・削除、リマインダー設定まで、GASで実現可能です。

さらにSlackなどのアプリケーションとAPIで連携すれば、Googleカレンダーの情報をSlack投稿するツールを作成して、業務効率化を図ることができます。

Googleカレンダーで利用頻度の高い操作についてはGASで実行する方法を解説しています。

GASを活用してGoogleカレンダーをより効率化し、自動処理などを行えるようにしましょう。