presence: setPresence

名前空間: microsoft.graph

ユーザーのプレゼンス セッションの状態をアプリケーションとして設定します。

プレゼンス セッション

ユーザーは複数のTeams クライアント (デスクトップ、モバイル、Web) にアクセスできるため、ユーザーは複数のプレゼンス セッションを持つことができます。 各Teams クライアントには独立したプレゼンス セッションがあり、ユーザーのプレゼンスは、背後にあるすべてのセッションから集計された状態になります。

同様に、アプリケーションはユーザーに対して独自のプレゼンス セッションを持ち、状態を更新できます。

セッションの状態を集計する方法の優先順位を次に示します。

  • ユーザー構成>アプリ構成 (ユーザー構成状態は他のユーザーをオーバーライド)
  • アプリ構成内: DoNotDisturb (現在、設定されたプレゼンスではサポートされていません) > Busy > Available > Away

タイムアウト、有効期限、およびキープアライブ

プレゼンス セッションが タイムアウト して 期限切れになる 可能性があるため、アプリケーションは タイムアウト 前にこの API を呼び出して、セッションの状態を維持する必要があります。または有効期限が 切れる 前に、セッションを維持します。

プレゼンス セッションは、可用性があり、タイムアウトが 5 分の場合に Available タイムアウトになる可能性があります。 タイムアウトになると、プレゼンス状態は段階的にフェードします。 たとえば、アプリケーションがプレゼンス セッションを次のように Available/Available設定した場合、状態は最初のタイムアウトで 5 分に変更 Available/AvailableInactive され Away/Away 、2 番目のタイムアウトではさらに 5 分になります。

プレゼンス セッションの有効期限は、パラメーターを使用して expirationDuration 構成できます。 セッションの有効期限が切れると、次のようになります Offline

アクセス許可

API を呼び出すには、次のアクセス許可が必要です。 アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) Presence.ReadWrite
委任 (個人用 Microsoft アカウント) サポートされていません。
アプリケーション Presence.ReadWrite.All

HTTP 要求

POST /users/{userId}/presence/setPresence

要求ヘッダー

名前 説明
Authorization ベアラー {token}。必須。
Content-Type application/json. Required.

要求本文

要求本文で、次のパラメーターを含む JSON オブジェクトを指定します。

パラメーター 種類 説明
Sessionid string アプリケーションのプレゼンス セッションの ID。
availability string ベース プレゼンス情報。
アクティビティ string 可用性に関する補足情報。
expirationDuration duration アプリプレゼンス セッションの有効期限。 この値は、ISO 8601 形式で表示されます。

指定しない場合は、既定で 5 分の有効期限が適用されます。 有効な期間範囲は 5 ~ 240 分です (PT5M から PT4H)

重要

要求のようにアプリケーション sessionId の ID を指定します。

次のavailability``activity組み合わせがサポートされています。

availability アクティビティ 説明
使用可能 使用可能 プレゼンス セッションを [使用可能] として更新します。
多忙 InACall プレゼンス セッションを Busy、InACall として更新します。
多忙 InAConferenceCall プレゼンス セッションを Busy、InAConferenceCall として更新します。
離れて 離れて プレゼンス セッションを Away として更新します。

応答

成功した場合、このメソッドは 200 OK 応答コードを返します。

次の要求は、ユーザーfa8bf3dc-eca7-46b7-bad1-db199b62afc3のプレゼンス セッションを設定する ID 22553876-f5ab-4529-bffb-cfe50aa89f87 を持つアプリケーションを示しています。

要求

POST https://graph.microsoft.com/beta/users/fa8bf3dc-eca7-46b7-bad1-db199b62afc3/presence/setPresence
Content-Type: application/json

{
  "sessionId": "22553876-f5ab-4529-bffb-cfe50aa89f87",
  "availability": "Available",
  "activity": "Available",
  "expirationDuration": "PT1H"
}

応答

HTTP/1.1 200 OK