最近、アドベントカレンダーの記事や LT登壇の元ネタにする意味も兼ねて、触れてなかった IFTTT Pro の新機能を少し試して、以下の記事・資料を作成したりしました。
(それと、投稿した後に NoCode のアドベントカレンダーを見返したら、この記事の投稿日である 17日が空いてたので、後付けで登録してみた)
- 【NoCode 2020】 IFTTT Pro の新機能 3つ(クエリー・フィルター・複数のアクションの実行)の内容をチェックしてみる! - Qiita
- 【スマートスピーカー 2020】 IFTTT で Alexa・Google Assistant を利用して IFTTT Pro の新機能(クエリー・フィルター)との組み合わせも試す - Qiita
- IFTTT Pro の新機能(クエリー・フィルター)の話と M5Stack CoreInk の話 / IoTLT vol.70 - Speaker Deck
ただ、とりあえず試してみたという状況で、「便利な使い道・便利に使えそうな内容を何か見つけられたという要素」があるかというと、「そのあたりは弱めなだな」と思ってました。
そして、自分が活用できそうなトリガー・クエリーをあらためて見直してみた中で、自分用にメモしておこうと思った内容が出てきたので記事にします。
結論からいうと、「良い感じの事例を見つけられた感じではなく、まだ模索が続いている状況」という感じの内容です。
Googleカレンダー連携
自分が使いそうな機能をトリガー・クエリーのそれぞれで選んで見ていた際に、Googleカレンダーの内容が気になったので、その内容について以下で記載します。
トリガーで選んだ場合
以下、トリガーとして選んだ場合に選択可能なものです。
利用可能な機能は以下の 7つのようです。
- 新しくイベントが登録されたとき
- 特定のキーワードが含まれた予定が新たに登録されたとき(キーワードがチェックされる対象は「Title、Description、Location」)
- イベント開始時刻になった
- 特定のキーワードが含まれた予定のイベント開始時刻になった(キーワードがチェックされる対象は「Title、Description、Location」)
- イベント終了時刻になった
- 特定のキーワードが含まれた予定のイベント終了時刻になった(キーワードがチェックされる対象は「Title、Description、Location」)
- イベント招待に返答をしたとき
なお、上記の中で例えば「イベント開始時刻になった」という条件は、開始時刻ぴったりでしか使えないのではなく、「開始時刻より?分前」という設定を加えることができます。
クエリーで選んだ場合
以下、クエリーとして選んだ場合に選択可能なものです。
ぱっと見で、選ぶことが可能な対象の数が異なります。
全部で 13個あるため、その一部のみを抜粋してみます。
- カレンダーのリストを取得
- イベント検索をした結果を取得
- 特定の日のイベントのリストを取得
- 特定の期間のイベントのリストを取得
上記以外に、以前の記事で取り上げた中でも見られた「●●の履歴の情報をリストで取得」というものがあるようです。
Googleカレンダーをクエリーで活用する場合
ここで、ぱっと思いついた内容を試してみます。
Date&Time との組み合わせ
Googleカレンダー連携をトリガーで選んだ場合、アプレットが実行されるきかっけとできるのは「イベントの新規登録・イベント開始時刻・イベント終了時刻」などでした。
このイベント実行のきかっけを変えられそうなものが Date&Time です。
イベントリストとの組み合わせ
1つ思いついたものが、「Every day at」と「List Events for a Date」の組み合わせでした。
具体的には「毎日の朝の指定時刻にその日のイベントのリストを通知させる」という内容なのですが、これはダメっぽかったです。
というのも、これを実現するためには「List Events for a Date」の設定で、動的にその日の日付を指定することが必要そうなのですが、「Every day at」から引き渡せる情報が「Check Time」となっていて、どうやら時刻情報のみだったからです。
余談ですが、他に「天気予報の取得機能だったら、日付情報がついてこないかな(← 天気情報は使わず、日付情報があればそれだけ使う形を想定)」とか思ったのですが、こちらも日付情報は取得できなそうでした(当日の天気を当日に知らせる機能だから、そもそも日付情報を取得する必要はないのか・・・)。
この方向性は難しそうです・・・。
イベント検索との組み合わせ
別に思いついたものが、「Every day at / Every day of the week at」と「Search Events」の組み合わせでした。
具体的には「毎日(または、毎週の平日/週末)の朝の指定時刻に、特定のイベントの情報を検索して通知させる」という内容なのですが、これも良い感じとまではいかない状況です。
ここでやれたら良いなと思っていたことは Googleカレンダーに登録した勉強会の予定を、週の始めとかその日の朝に通知してくれる、というものでした。
検索させたい予定のタイトルに「【勉強会】」などと特定の文字列を含めておいて、IFTTT の Googleカレンダー連携での予定検索でキーワードをこの「【勉強会】」など、意図的に予定のタイトルに含めた文字列にする、という感じで考えていました(※ IFTTT で Googleカレンダーのキーワード検索をする場合、日本語はダメっぽい感じがあったので、英単語にして試してます)。
アプレットのアクション上で GUI上から設定できる変数(今回の事例だと、LINEアプリに通知するメッセージ内に出す文字列)は単一のイベントのもので、検索結果が複数あった場合に、その最初の 1つが出てくる感じに見えたためです(※ 詳細検証は、まだできておらず)。
あと、もう1つ試してみたのがフィルターです。
「もしかしたら、裏では検索結果がリストになっているのでは?」と思って、以下のような内容をフィルターで設定してみました。
その結果、検索結果が複数あった場合に、それらを取得できそうではありました。
以下が、上記のフィルターを適用して LINEアプリに通知した結果の画面です。
(そういえば、改行を入れてなかった・・・)
上記のとおり、裏では検索結果が複数あった場合、それらを保持しているようです。
あとは、活用できそうかどうか考えていく上では、検索対象となるイベントの範囲がどうなるかが気になるところです。
現状で試してみた感じでは、検索をかけた日付以降のイベントを対象にしていて、検索を実行した日付以降のイベントを対象にしているようではありました。
まとめ
以上が記事の内容ですが、活用法を見いだすところまで到達した感じではないです。
ただ、この情報を見た方で「もっと良い使い方ができるよ!」という方がでてきたりしないかな、というのと、将来の自分が情報を見返して再び模索する場合の情報源にしておけるかな、というのがあり記事を投稿しました。
引き続き、IFTTT Pro の新機能活用は Googleカレンダーの事例に限らず、やってみようと思います。