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
コメント