Power Appsには、Outlookと連携することができるOffice 365 Outlookコネクタというコネクタがあります。
この記事では、
- CalendarGetTablesV2の構文、取得できる戻り値
- GetEventsCalendarViewV3の構文、取得できる戻り値
- 祝日の一覧表示方法
- 会議予定の一覧表示方法
を紹介します。
この記事は、Power Apps Advent Calendar 2023 12月3日担当分の記事です。
Office 365 Outlookコネクタの追加方法
左側のデータタブから、データの追加→Office 365 Outlookを選択します。

Office 365 Outlookを選択します。一覧になければ接続の追加をクリックして接続を作成します。

Office 365 Outlookが追加されます。

CalendarGetTablesV2
構文
Office365Outlook.CalendarGetTablesV2().value戻り値
| パス | 型 | 説明 |
|---|---|---|
| id | テキスト | カレンダーIDです。 |
| name | テキスト | カレンダーの表示名です。 |
| owner.address | テキスト | カレンダーの所有者のメールアドレスです。 |
| owner.name | テキスト | カレンダーの所有者の表示名です。 |
GetEventsCalendarViewV3
構文
Office365Outlook.GetEventsCalendarViewV3(calendarId, startDateTimeUtc, endDateTimeUtc, {'$filter':text, '$orderby':number, '$skip':number, '$top':number, search:text}).value
//calendarId:CalendarGetTablesV2などで取得したテーブルID
//startDateTimeUtc:取得する予定の開始日時
//endDateTimeUtc:取得する予定の終了日時
//'$filter':列名 eq '検索値'などで検索することができます。フィルタークエリを使用して検索します。
//'$orderby':列名 desc または 列名 ascで昇順/降順を指定することができます。
//'$skip':上から何行目までを取得しないかを指定します。
//'$top':上から何行目までを取得するかを指定します。
//search:件名(subject)列を検索します。'$filter', $orderby', searchなどはPower Appsの関数で実装した方がよさそうです。
startDateTimeUtc、endDateTimeUtcにはText(Today(), DateTimeFormat.UTC)などでUTCに変換する必要があります。
戻り値
主要な値のみ紹介します。
| パス | データ型 | 説明 |
|---|---|---|
| id | テキスト | イベントのID |
| subject | テキスト | イベントの件名 |
| body | テキスト | イベントの本文 |
| start | 日時 | イベントの開始日時 |
| end | 日時 | イベントの終了日時 |
| isAllDay | Boolean | 終日イベントかどうか ( true / false ) |
| startWithTimeZone | 日時 | イベントの開始日時(UTC) |
| endWithTimeZone | 日時 | イベントの終了日時(UTC) |
| createdDateTime | 日時 | イベントの作成日時 |
| lastModifiedDateTime | 日時 | イベントの最終変更日時 |
| organizer | テキスト | イベント開催者のメールアドレス |
| requiredAttendees | テキスト | イベント必須出席者のメールアドレス ※複数の場合はセミコロン区切り |
| optionalAttendees | テキスト | イベント任意出席者のメールアドレス ※複数の場合はセミコロン区切り |
| resourceAttendees | テキスト | 会議室などのリソース情報 ※複数の場合はセミコロン区切り |
| responseRequested | Boolean | 応答を要求するかどうか ( true / false ) |
| responseType | テキスト | イベントの応答の種類 ( none / organizer / tentativelyAccepted / accepted / declined / notResponded ) それぞれ、なし / 開催者 / 仮承諾 / 承諾 / 辞退 / 応答なし) |
| responseTime | 日時 | イベントの応答日時 |
| recurrence | テキスト | 繰り返し予定の設定 ( none / daily / weekly / monthly / yearly ) |
| location | テキスト | イベントの場所 |
祝日の一覧表示方法
CalendarGetTablesV2で日本の休日を選択することで休日を一覧表示できます。
以下の数式でPowerAppsOneGridCalendarsで選択したカレンダーの当月の休日を一覧表示できます。
Office365Outlook.GetEventsCalendarViewV3(
PowerAppsOneGridCalendars.Selected.id,
Text(Date(Year(Today()), Month(Today()), 1), DateTimeFormat.UTC),
Text(Date(Year(Today()), Month(Today()) + 1, 1), DateTimeFormat.UTC)
).value
祝日や営業日の一覧表示は以下の記事も参考にしてください。
会議予定の一覧表示方法
祝日一覧と同じ数式でCalendarを選択すると当月の会議予定一覧を表示できます。

会議予定や祝日の表示を切り替えなくてもいい場合は、以下の数式でカレンダーのidを取得して入力することもできます。
Office365Outlook.GetEventsCalendarViewV3(
LookUp(Office365Outlook.CalendarGetTablesV2().value, name = "Calendar", id),
Text(Date(Year(Today()), Month(Today()), 1), DateTimeFormat.UTC),
Text(Date(Year(Today()), Month(Today()) + 1, 1), DateTimeFormat.UTC)
).value





コメント