Google Apps ScriptでGoogleカレンダーを操作する最初の一歩のスクリプト

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

GAS、Googleカレンダー、スプレッドシートを活用して、これまでの仕事の生産性を測定する方法についてシリーズでお伝えしています。

前回の記事はこちらです。

GASで仕事の生産性を測定して振り返るためのGoogleカレンダーの使い方
過去に何の仕事にどれだけ時間をかけてきたか、振り返ったことはありますか?Googleカレンダーを上手に記録しておくことで、これまでの仕事の生産性を測定するための貴重なデータになります。

生産性を測定するためのGoogleカレンダーの使い方についてお伝えしました。

今回から、いよいよGoogle Apps Scriptを触っていきます。

まずは、Googleカレンダーの操作方法ということで、Google Apps ScriptでGoogleカレンダーを扱う最初の一歩をお伝えしていきます。

では、行ってみましょう!

スポンサーリンク

プロジェクトを作成する

まず、GASのスクリプトを書くためのプロジェクトを準備します。

最終的にはスプレッドシートにデータを書き出して集計するので、スプレッドシートと紐づくタイプの「コンテナバインドスクリプト」としてプロジェクトを作成します。

新規のスプレッドシート「カレンダー実績」を作り、メニューから「ツール」→「スクリプトエディタ」とたどります。

スプレッドシートからスクリプトエディタを開く

すると別タブで、スクリプトエディタに新規プロジェクトが開きます。

このスクリプトエディタの画面でGASのコードを編集していきます。

プロジェクト名はこちらもカレンダー実績などとしておきましょう。

スクリプトエディタでプロジェクトを開く

GoogleカレンダーのカレンダーIDの調べ方

次に、GoogleカレンダーのカレンダーIDの調べ方を見ていきましょう。

というのも、GASからGoogleカレンダーを操作するためには、操作対象となるカレンダーのカレンダーIDをコード内で使用する必要があるのです。

まず、Googleカレンダーを開いて、メインメニューの対象となるカレンダーのオーバーフローメニュー(三点リーダーアイコンです)から、「設定と共有」を選択します。

Googleカレンダーの設定と共有を開く

設定画面では「カレンダーの統合」をクリックします。

ページ内リンクで移動し、その一番上に「カレンダーID」が表示されていますので、それをコピーしておきましょう。

マイカレンダーの設定からカレンダーIDをコピー

ちなみに、アカウントのメインのカレンダーであれば、アカウント名がそのままカレンダーIDになっているはずです。

カレンダーを操作する最初のスクリプト

では、このカレンダーIDを使って、GASからアクセスしてみましょう。

スクリプトエディタで以下のようなコードを入力して、実行してみてください。

const CALENDAR_ID = '**********'; //カレンダーID
function getCalendarEvents() {
  const calendar = CalendarApp.getCalendarById(CALENDAR_ID);
  console.log(calendar.getName());
}

カレンダーIDの「**********」の箇所には、みなさんのカレンダーIDをペーストして入力してください。

実行すると、以下のような「Authorization required」という画面が表示されますので、「許可を確認」から、カレンダーへのアクセスを許可してください。

スクリプトからの許可を確認

実行後、ログを確認すると以下のように、対象のカレンダー名が表示されるはずです。

カレンダー名がログ出力される

つまり、カレンダーへのアクセス成功ですね!

カレンダーIDでカレンダーを取得する

コードの解説をしていきましょう。

3行目ですが、カレンダーIDを使ってカレンダーを取得しています。

使用しているのは、CalendarAppクラスのgetCalendarByIdメソッドです。

CalendarApp.getCalendarById(カレンダーID)

カレンダーIDを渡すことで、対象のカレンダーをCalendarオブジェクトとして取得します。

ちなみに、CalendarAppオブジェクトは、GASのCalendarサービスのトップレベルオブジェクトで、カレンダーの操作はまずこのオブジェクトからスタートします。

カレンダー名を取得する

4行目のgetNameメソッドは、Calendarオブジェクトのカレンダー名を取得するものです。

Calendarオブジェクト.getName()

Calendarオブジェクトには他にもさまざまなメソッドが用意されていますので、それを使って操作をしていくことになります。

まとめ

以上、Google Apps ScriptでGoogleカレンダーを扱う最初の一歩についてお伝えしました。

カレンダーの操作…けっこう楽しそうですよね!

次回は、Google Apps Scriptを使用してイベントの情報を取得する方法をお伝えします。

429 Too Many Requests

どうぞお楽しみに!

連載目次:GASとカレンダーの記録を活用して過去の仕事を振り返る

企業ではスプレッドシートを勤怠管理やプロジェクト進捗管理などに使っている場合も多いと思います。このシリーズでは、カレンダーとスプレッドシート、そしてGoogle Apps Scriptを使って仕事の生産性を測定する方法についてお伝えしています。
  1. GASで仕事の生産性を測定して振り返るためのGoogleカレンダーの使い方
  2. Google Apps ScriptでGoogleカレンダーを操作する最初の一歩のスクリプト
  3. Google Apps Scriptで特定月のカレンダーのイベント情報を取得する
  4. Google Apps ScriptでGoogleカレンダーの記録をスプレッドシートに出力する
  5. Google Apps ScriptでGoogleカレンダーの場所・説明を取得する方法
  6. Google Apps Scriptで時刻計算と文字列抽出の数式を入力する方法
  7. Google Apps Scriptで任意の月のカレンダーデータをスプレッドシートに書き出す方法
  8. Googleカレンダーの記録を活用してスプレッドシートに業務別の工数計算
タイトルとURLをコピーしました