対象予定に対する自分の関係性を取得する— getMyStatus()
今回のメソッドは、対象予定に対する自分の関係性を取得するgetMyStatus()メソッドをご紹介します。このメソッドでは、対象予定に対して自分がどの状態なのかを取得するメソッドになります。
対象予定に対する自分の関係性を取得と言ってもなかなかイメージがしづらいと思いますので、イメージ画像を用意しました。
上記の画像のように、予定に対してユーザー(各アカウント)はオーナー/ゲストという2つの属性に分けられます。その中で、オーナーはOWNERとしてプログラム上認識され、ゲストの場合は状態によって4つの属性(INVITED/YES/NO/MAYBE)に分けられます。
- INVITED
- 予定に招待されたが、まだ出席/欠席/未定のいずれの回答も行っていない状態
- YES
- はいと回答した状態
- NO
- いいえと回答した状態
- MAYBE
- 未定と回答した状態
このように、ゲストとして予定に招待された場合は回答の状況に応じてステータスが設定されています。
getMyStatus()メソッドは予定に対するこのような関係性を取得するためのメソッドになります。
このメソッドを利用すれば、招待されているにも関わらず回答していない状態の予定があった場合にリマインダーを送信することや、未定の状態のまま予定日が近づいてきてしまった場合に回答を催促するメールを送信したりなど、忘れを防止する処理を自動化できたりします。
『 引数に入れる値 』
今回のメソッドに関しては引数は必要ありません。
getMyStatus()
//予定のタイトルを取得するコード function sampleCode1() { var calendar = CalendarApp.getDefaultCalendar(); var date = new Date(); var events = calendar.getEventsForDay(date); for (var i in events) { var event = events[i]; console.log(event.getMyStatus()); } }
『 変数の説明 』
calendar = デフォルトカレンダーを取得
date = プログラム実行日を代入
events = プログラム実行日の予定を取得
event = 個々予定を取得
スクリプトができたら▶ボタンでプログラムを実行してみましょう。今回のコードではプログラム実行日の予定に対する自分の関係性を取得してログに表示するコードを書いてあります。私の環境では、対象の2つの予定を作成し、1つは自分がオーナーの予定、もう1つは他のアカウントから予定を招待された状態の予定を用意してプログラムを実行しました。ログの出力結果は下記にスクリーンショットを貼り付けてありますのでご確認下さい。
上記サンプルコードをコピペして、プログラムの実行が終了したらCtrl + Enterを打鍵して自分のログを確認してみましょう。ご自身の予定に対する関係性がログに出力されていればプログラムは問題なく動作しています。
2つの予定に対してそれぞれの関係性をログに出力されています。
まとめ
今回は予定に対する自分の関係性を取得するgetMyStatus()メソッドのご紹介をしました。予定が自分の作成したものなのか、招待されたものなのか、招待されたものであればどのような自分のステータスはどのような状態なのかを取得することができます。状態がわかればリマインダーを送信したり行動を促すことが容易になりますので、もしかすると意外と使えるメソッドかもしれませんね。