# 設定ガイド: Outlook でのオンライン会議のスケジュール

{% hint style="warning" %}
このページの構成オプションは[管理者](https://github.com/nexthink/documentation.online-product-documentation/blob/develop/ja_docs/configuring_nexthink/configuring-your-platform/administration/account-management/roles/README.md)のみが見ることができます。

ライブラリのコンテンツを標準ユーザーとして使用するには、[使用ガイド: Outlookでオンライン会議をスケジュールする](https://docs.nexthink.com/platform/ja/library-packs/l1-support/workflow-schedule-online-meeting-outlook/usage-guide-proactive-password-reset) を参照してください。
{% endhint %}

## 前提条件 <a href="#pre-requisites" id="pre-requisites"></a>

このライブラリパックには、次の[拡張製品](https://docs.nexthink.com/platform/ja/overview/products)のコンテンツが含まれています。

* [FlowーWorkflows](https://docs.nexthink.com/platform/ja/user-guide/workflows)

{% hint style="info" %}
これらの製品のいくつかは、各コンテンツへのデフォルトのアクセスを提供し、[拡張製品](https://docs.nexthink.com/platform/ja/overview/products)なしでも使用できます。

デフォルトの拡張製品の閾値について詳しくは、[拡大ドキュメンテーション](https://docs.nexthink.com/platform/ja/library-packs/l1-support/workflow-schedule-online-meeting-outlook/broken-reference)をご覧ください。
{% endhint %}

## **含まれるコンテンツと依存関係** <a href="#content-and-dependency" id="content-and-dependency"></a>

このライブラリパックには、以下のコンテンツと依存関係が含まれています:

<table><thead><tr><th width="219">タイプ</th><th width="235">名前</th><th>説明</th></tr></thead><tbody><tr><td><a href="https://docs.nexthink.com/platform/ja/user-guide/workflows">ワークフロー</a></td><td><strong>Outlookでオンライン会議をスケジュールする</strong></td><td>Outlookカレンダーでオンライン会議をスケジュールするためのワークフロー。</td></tr></tbody></table>

## Outlookでオンライン会議をスケジュールするパックを構成する <a href="#configuration" id="configuration"></a>

{% hint style="info" %}
この提案された設定ステップを適応させて、組織のニーズに応じてコンテンツを編集およびカスタマイズしてください。
{% endhint %}

Skynet をシステムにインストールするための手順に従ってください:

* 設定前 - [Nexthink Library](https://docs.nexthink.com/platform/ja/user-guide/nexthink-library)からライブラリパックコンテンツをインストールします
* [ステップ 1 - 登録済みのMicrosoft Entra ID アプリケーションを設定し、Microsoft Graph APIコネクタの資格情報を構成する](#step-2-set-up-a-registered-microsoft-entra-id-app-and-configure-microsoft-graph-api-connector-creden)
* [ステップ 2 - グローバルパラメータを構成する](#step-3-configure-global-parameters)
* [ステップ 3 - Functions thinkletsのカスタムJavaScriptコードを確認する](#step-3-examine-the-custom-javascript-code-of-the-functions-thinklets)

### ステップ 1 - 登録済みのMicrosoft Entra ID アプリケーションを設定し、Microsoft Graph APIコネクタの資格情報を構成する <a href="#step-2-set-up-a-registered-microsoft-entra-id-app-and-configure-microsoft-graph-api-connector-creden" id="step-2-set-up-a-registered-microsoft-entra-id-app-and-configure-microsoft-graph-api-connector-creden"></a>

次のドキュメンテーションページを参照して、Microsoft Entra ID アプリケーションを登録し、Nexthink で適切なコネクターの資格情報を設定してください: [ワークフローのためのEntra ID 統合](https://docs.nexthink.com/platform/ja/library-packs/faq/entra-id-integration-for-workflows).

このワークフローでは、登録されたEntra IDアプリケーションに次の権限が付与されている必要があります。

| 権限の種類    | 最小特権の権限         |
| -------- | --------------- |
| アプリケーション | カレンダー.ReadWrite |

{% hint style="info" %}
このワークフローはアプリケーション権限タイプを使用してテストされています。 異なる環境では異なる権限が必要です。 環境に応じた権限を割り当て、関わるリスクを理解してください。
{% endhint %}

MicrosoftのGraph REST APIのドキュメントを参照してください。

* [Graph REST API ドキュメンテーション - GetSchedule](https://learn.microsoft.com/ja-jp/graph/api/calendar-getschedule?view=graph-rest-1.0\&tabs=http)
* [Graph REST API ドキュメンテーション - CreateEvent](https://learn.microsoft.com/ja-jp/graph/api/user-post-events?view=graph-rest-1.0\&tabs=http)

### ステップ2 - グローバルパラメーターを設定

このワークフローには次のグローバルパラメーターがあります。

* タイムゾーン
* 参加者
* 件名
* コンテンツ
* 会議の持続時間（分）
* 位置

下のテーブルは各パラメーターの目的とデフォルト値を示しています。

| 名前         | デフォルト値     | 説明                        |
| ---------- | ---------- | ------------------------- |
| タイムゾーン     | 中央ヨーロッパ標準時 | タイムゾーンの名前                 |
| 参加者        | 該当なし       | 参加者のメールアドレス               |
| 件名         | アポイントメント   | このテキストは会議の件名フィールドに表示されます。 |
| コンテンツ      | 会議の説明      | このテキストは会議の説明フィールドに表示されます。 |
| 会議の持続時間（分） | 60         | 会議の持続時間は分単位です。            |
| 位置         | デフォルトの場所   | このテキストは会議の場所フィールドに表示されます。 |

### ステップ3 - Functions シンクレットのカスタムJavaScriptコードを確認

#### '開始日と終了日'関数

シンクレットは次のカスタムJavaScriptコードを含んでいます。

```
function nextBusinessDay(fromDate = new Date()) { const nextDay = new Date(fromDate); do { nextDay.setDate(nextDay.getDate() + 1); } while ([0, 6].includes(nextDay.getDay())); return nextDay; } function toLocalISOString(date, offsetHours = 0, offsetMinutes = 0) { const offsetDate = new Date(date); offsetDate.setHours(offsetHours, offsetMinutes, 0, 0); // Build timedate string: 'YYYY-MM-DDTHH:MM:SS' return offsetDate.getFullYear() + '-' + String(offsetDate.getMonth() + 1).padStart(2, '0') + '-' + String(offsetDate.getDate()).padStart(2, '0') + 'T' + String(offsetDate.getHours()).padStart(2, '0') + ':' + String(offsetDate.getMinutes()).padStart(2, '0') + ':00'; } const nextDay = nextBusinessDay(); outputs.start = toLocalISOString(nextDay, 9); outputs.end = toLocalISOString(nextDay, 17); nxLogger.log(`Start: ${outputs.start}`); nxLogger.log(`End: ${outputs.end}`);
```

#### 'アベイラビリティチェック'関数

シンクレットは次のカスタムJavaScriptコードを含んでいます。

```
function nextBusinessDay(fromDate = new Date()) { const nextDay = new Date(fromDate); do { nextDay.setDate(nextDay.getDate() + 1); } while ([0, 6].includes(nextDay.getDay())); return nextDay; } function toLocalISOString(date, offsetHours = 0, offsetMinutes = 0) { const offsetDate = new Date(date); offsetDate.setHours(offsetHours, offsetMinutes, 0, 0); // Build timedate string: 'YYYY-MM-DDTHH:MM:SS' return offsetDate.getFullYear() + '-' + String(offsetDate.getMonth() + 1).padStart(2, '0') + '-' + String(offsetDate.getDate()).padStart(2, '0') + 'T' + String(offsetDate.getHours()).padStart(2, '0') + ':' + String(offsetDate.getMinutes()).padStart(2, '0') + ':00'; } const nextDay = nextBusinessDay(); outputs.start = toLocalISOString(nextDay, 9); outputs.end = toLocalISOString(nextDay, 17); nxLogger.log(`Start: ${outputs.start}`); nxLogger.log(`End: ${outputs.end}`);
```

***

関連トピック

* [ワークフロー: Outlookでオンライン会議をスケジュールする](https://docs.nexthink.com/platform/ja/library-packs/l1-support/workflow-schedule-online-meeting-outlook)
* [使用ガイド: Outlookでオンライン会議をスケジュールする](https://docs.nexthink.com/platform/ja/library-packs/l1-support/workflow-schedule-online-meeting-outlook/usage-guide-proactive-password-reset)
* [ワークフローの管理](https://docs.nexthink.com/platform/ja/user-guide/workflows/managing-workflows)
