初心者でもわかるGoogle Apps Script活用のススメ

【コピペで使える】GASでIDを使ってカレンダーを取得してみる

今回はアカウントに接続されているカレンダーのうち、カレンダー毎に割り振られた一意のカレンダーIDで特定のカレンダーを取得するメソッドを紹介します。

対象のカレンダーに直接アクセスができますので、数あるカレンダー取得メソッドの中で一番処理は速いと思います。

カレンダーIDから特定のカレンダーを取得するメソッド — getCalendarById

コピペで使えるサンプルコードを参照したい方はこちらをクリックすればサンプルコードまでジャンプできますので、手っ取り早くコードを確認したい方はクリックしてください。

まずは、カレンダーIDの確認方法から説明します。Google Apps ScriptのCalendarAppを使いこなせるようになるとプログラムでIDを取得(getId()メソッド)することも出来るようになりますが、今回は手動でIDを確認する方法をご紹介します。

まずはGoogleカレンダーにアクセスして、どのカレンダー名でも良いので、カレンダー名の右にある『︙』をクリックして下さい。

次に、表示されたメニューから『設定と共有』を選択します。

すると、カレンダーの設定画面に遷移します。下図のように画面左側の項目から『カレンダーの統合』をクリックして下さい。クリックすると右側の設定詳細がカレンダーの統合エリアに移動します。

移動したエリアに書いてあるカレンダーIDという部分がカレンダーのIDになります。

普段はあまり確認することはないかと思いますが、カレンダーにはこのように一つ一つIDが設定されています。今回のメソッドではこのIDを利用してカレンダーオブジェクトを取得出来ます。

それでは、メソッドの説明に移ります。

  1. getCalendarById(id)

『 引数に入れる値 』

『 関連するメソッド 』

合わせて覚えたいリマインダー操作に関するメソッド

getCalendarById(id)サンプルコード

カレンダーIDからカレンダーを取得するサンプルコード
//カレンダーIDからカレンダーを取得するコード
function sampleCodeForGetCalendarById() {
  var id = "calendarId"; //ご利用の際はご自身のアカウントに紐付けられているカレンダーのIDに置き換えて下さい。
  try {
    var calendar = CalendarApp.getCalendarById(id);
    var calendarName = calendar.getName();
    console.log(calendarName);
  } catch (e) {
    console.log("カレンダーIDが正しくありません");
  }
}

『 変数の説明 』

id = カレンダーIDを代入
calendar = カレンダーIDを指定したカレンダーオブジェクトを代入
calendarName = カレンダーの名前を代入

getCalendarById(id)サンプルコード』に上記サンプルスクリプトを記載したスクリプトがありますので、アクセスしてみてください。サンプルスクリプトでは、カレンダーIDが正しくないので、自分でスクリプトファイルを作成して、サンプルスクリプトのコードをコピーして、IDを置き換えたあとに▶ボタンをクリックしてプログラムを実行してみましょう。
指定したIDがあれば対象のカレンダー名が実行ログに出力されます。IDがなければ「カレンダーIDが正しくありません」というメッセージが出力されます。

『スクリプトの説明』

変数calendarにはカレンダーIDで指定したカレンダーオブジェクトが格納され、getName()メソッドを使ってカレンダーオブジェクトからカレンダー名を取得して変数calendarNameに代入し、console.log(calendarName)でログにカレンダー名を出力させています。

カレンダーを取得する他のコードと比べ、対象のカレンダーに直接アクセスができますので、処理速度という観点では一番速いメソッドであると思います。カレンダー取得のための他のメソッドは複数のカレンダーを配列で取得するため、カレンダーの一つ一つを展開するためにはループ処理などを行う必要があるため、処理速度がほんの少しだけ遅くなります。

まとめ

今回のコードでは、カレンダーIDを自分で指定し、特定のカレンダーオブジェクトを取得するメソッドをご紹介しました。

カレンダーに予定を作ったりする場合にはカレンダーを取得することが起点になりますので、どのようにカレンダーを取得するかということはしっかりと覚えておきましょう。

Exit mobile version