初心者でもわかる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