Microsoft Graph APIを使用すると、アプリケーションは複数のセッションにわたってユーザープレゼンス状態を管理でき、正確で動的な可用性の更新が保証されます。
プレゼンス セッション
ユーザーは複数の Teams クライアント (デスクトップ、モバイル、Web) 上に存在できるため、ユーザーは複数のプレゼンス セッションを持つことができます。 各 Teams クライアントには独立したプレゼンス セッションがあり、ユーザーのプレゼンスは、背後にあるすべてのセッションから集計された状態です。
同様に、アプリケーションはユーザーに対して独自のプレゼンス セッションを持ち、状態を更新できます。
セッション状態の集計方法には次の優先順位が使用され、A が B よりも優先されることを表す "A > B" が使用されます。
- ユーザー優先状態 > セッション レベルの状態 (ユーザー優先状態はセッション レベルの状態をオーバーライドします)
- セッション レベルの状態間: DoNotDisturb >ビジー >使用可能な>
手記: Microsoft Graph でユーザープレゼンスが変更されると、Teams クライアントがポーリング モードを使用するため、プレゼンス状態の更新には数分かかります。
プレゼンス状態の順列
| Teams の状態 | グラフの可用性/アクティビティ |
|---|---|
| 使用可能 | available/available |
| 利用可、不在時 | available / outOfOffice |
| 多忙 | busy/busy |
| 通話中 | busy / inACall |
| 会議中 | busy / inAMeeting |
| 通話中、不在時 | busy / inACall + OOF |
| 応答しない | doNotDisturb / doNotDisturb |
| 提示 | doNotDisturb / presenting |
| 留守 | away / away |
| 一時退席中 | beRightBack / beRightBack |
| オフラインで表示する | offline / offWork |
| 不在 | outOfOffice |
注:
setPresence メソッドは、プレゼンス状態の不在 (OOF) または会議での直接の設定をサポートしていません。 これらの状態は、予定表のイベントとメールボックスの構成に基づいて自動的に管理され、 setPresence メソッドを使用して設定しようとしても効果はありません。
"不在時" をプレゼンスに反映するには、予定表イベントの showAs プロパティを oof に設定するか、mailboxSettings を使用してユーザーの自動レプリケート設定を構成して、イベント API を使用します。
"会議中" 状態は、スケジュールされた予定表会議イベント中に自動的に反映され、手動によるプレゼンス更新は必要ありません。
タイムアウト、有効期限、およびキープ アライブ
プレゼンス セッションがタイムアウトして期限切れになる可能性があるため、アプリケーションはプレゼンスを呼び出す必要があります。タイムアウト前に setPresence API を呼び出して、セッションの状態を維持する必要があります。または有効期限の前に、セッションを維持します。
可用性が Available され、タイムアウトが 5 分の場合、プレゼンス セッションはタイムアウトになる可能性があります。 タイムアウトすると、プレゼンス状態は段階的にフェードします。 たとえば、アプリケーションがプレゼンス セッションを Available/Availableとして設定した場合、状態は最初のタイムアウトで 5 分で Available/AvailableInactive に変わります。次に、2 番目のタイムアウトでさらに 5 分で Away/Away します。
expirationDurationを使用してプレゼンス セッションの有効期限を構成します。それ以外の場合、既定の有効期限は 5 分です。 有効な値の範囲は 5 分から 4 時間で、その後セッションが Offlineされます。
テナント間プレゼンスの可視性と対話のための信頼されたドメイン
Teams 管理センターで 外部アクセス を構成して、目的のパートナー組織のみがユーザーの プレゼンスを確認して行動 できるようにします。 Teams 管理センター (ユーザー >外部アクセス) で、すべてのドメインを許可するか、[会議と信頼できる Microsoft 365 組織とチャットする] の [許可] ボックスの一覧に特定のドメインを追加します。 これらの信頼された組織のユーザーは、ユーザーのプレゼンスを表示できます。 テナント間プレゼンスには 相互信頼が必要であり、パートナーはドメインも許可する必要があります。 信頼されていない (またはブロックされている) ドメインでは、プレゼンスが表示されないか、プレゼンス駆動型の操作を開始できません。 詳細については、「 信頼できる Microsoft 365 組織を指定する」を参照してください。