自分がオーナーのカレンダーからカレンダー名を指定して特定のカレンダーを取得するメソッド — getOwnedCalendarsByName
今回はアカウントに接続されているカレンダーのうち、自分がオーナーのカレンダーの中からカレンダー名を使って特定のカレンダーを取得するメソッドを紹介します。今回のメソッドはgetCalendarsByName()メソッドと似ていますが、getCalendarsByName()メソッドは他のアカウントがオーナーのカレンダーを含めてカレンダー名で取得することができるのですが、今回のgetOwnedCalendarsByName()メソッドは自分がオーナーのカレンダーのみ取得することができます。
早速メソッドの説明に移ります。
『 引数に入れる値 』
- name(カレンダー名) — 取得したいカレンダー名
getOwnedCalendarsByName(name)
//カレンダー名を指定してカレンダーを取得するコード function sampleCode1() { var name = "新規のカレンダー"; //ご利用の際はご自身がオーナーのカレンダー名に置き換えて下さい。 var calendars = CalendarApp.getCalendarsByName(name); for (var i in calendars) { var calendarName = calendars[i].getName(); console.log(calendarName); } }
『 変数の説明 』
name = カレンダー名を格納
calendars = カレンダー名を指定したカレンダーオブジェクトを配列で取得
calendarName = カレンダーの名前を格納
スクリプトができたら▶ボタンでプログラムを実行してみましょう。実行が終了したらログを確認してみましょう。指定したカレンダー名と同じカレンダー名が出てくればプログラムは無事終了しています。
『スクリプトの説明』
変数calendarsにはカレンダー名で指定したカレンダーオブジェクトが配列で格納されます。配列で取得されることからもわかるかもしれませんが、このメソッドを利用した際に自分がオーナーのカレンダーに指定したカレンダー名が複数ある場合でもすべてのカレンダーを取得することができます。取得したカレンダー配列をforループで回してgetName()メソッドを使ってカレンダーオブジェクトからカレンダー名を取得して変数calendarNameに代入し、console.log(calendarName)でログにカレンダー名を出力させています。
まとめ
今回のコードでは、カレンダー名を自分で指定し、特定のカレンダーオブジェクトを取得するメソッドをご紹介しました。getOwnedCalendarById()メソッドと似ていますが、配列で取得される点には注意して下さい。