0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PowerAutomate備忘録「Outlookスケジュールのカテゴリでの判定」

Last updated at Posted at 2022-08-22

はじめに

  • タイトルにある通りoutlookのスケジュールのカテゴリの条件判定ですこしてこずったので備忘録として残しておく。

今回やりたかったこと

  • 祝日・休日かどうか確認し、通知をする
  • Outlookのカテゴリを利用
    • 日本の休日を利用すれば楽に実装できるのだが、なぜか自分のPCでスケジュールに表示されないので、仕方なく。
    • カテゴリを活用することが個人的に多いので休日判定以外にも使い道がありそう(リマインダなど)。
    • カテゴリ(名:休日)がついている日があるかどうかで判定する(画像の15日の夏期休暇)
      image.png

最終的な実装内容

カテゴリ(休日)情報を含む終日スケジュール情報を(当日分のみ)取得し、カテゴリ(休日)がついているものが含まれるかどうかを判定する

image.png

  • 各アクションの詳細
アクション名 名前 種類 その他
繰り返し N/A N/A N/A 実行したい時間・頻度を自身で設定
変数を初期化する 開始時刻 文字列 formatDateTime(addHours(utcNow(),9),'yyyy.MM.dd') 値は式で定義
変数を初期化する 終了時刻 文字列 formatDateTime(addHours(utcNow(),33),'yyyy.MM.dd') 値は式で定義
イベントカレンダービューの取得(V3) N/A N/A N/A 設定詳細は別途記載
変数を初期化する イベント結果 アレイ value 値は動的なコンテンツ>value
条件 N/A N/A N/A 判定式は別途記載
  • イベントカレンダービューの取得(V3)設定の詳細
カレンダーID 開始時刻 終了時刻 フィルタークエリ 補足
予定表※1 動的なコンテンツ>開始時刻 動的なコンテンツ>終了時刻 categories/any (category : category eq '休日') ※1 カレンダーIDは自分の予定表を選択
  • 条件の詳細
値の選択(左端) 比較演算子 値の選択(右端) 補足
式> empty(variables('イベント結果')) 次の値に等しい false 祝日/休日がある場合は'はいの場合'へ進む

躓いた点

  • カテゴリのフィルタークエリの定義

カレンダーのイベントビューの中身を確認すると。。。

[
  {
    "subject": "夏期休暇",
    "start": "2022-08-15T00:00:00.0000000",
    "end": "2022-08-16T00:00:00.0000000",
    "startWithTimeZone": "2022-08-15T00:00:00+00:00",
    "endWithTimeZone": "2022-08-16T00:00:00+00:00",
    "body": xxxxxxxx",
    "isHtml": true,
    "responseType": "none",
    "responseTime": "0001-01-01T00:00:00+00:00",
    "id": "xxxxxx",
    "createdDateTime": "2022-08-22T00:08:12.6190438+00:00",
    "lastModifiedDateTime": "2022-08-22T00:15:17.9104213+00:00",
    "organizer": "xxxxx@xxxxx.co.jp",
    "timeZone": "UTC",
    "iCalUId": "xxxxxxxxxxxxxxxxxxx",
    "categories": [
      "休日"
    ]
}

categoriesで値持っていることを確認しました。

上記をもとに最初以下のように記載していました。

フィルタークエリ
categories eq '休日'

手動テストすると。。。

実行結果
Could not find a property named 'categories' on type 'microsoft.graph.event'.
clientRequestId: xxxxxxxx-xxxxxxxxxxxxx
serviceRequestId: xxxxxxx-xxxx-xxxx-xxxxxx-xxxxxxxxx

categoriesなんてみつからないと。。

自分で調べてみて参考URLにあるany演算子を使って書いてあげる必要がありました。

参考URL

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?