次の方法で共有


presence: setPresence

名前空間: microsoft.graph

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

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

プレゼンス セッション

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

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

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

  • ユーザー構成 > のアプリ構成 (ユーザーが構成した状態が他の状態をオーバーライドする)
  • アプリで構成されている間: DoNotDisturb > Busy > Available > Away

メモ: Microsoft Graph でユーザープレゼンスが変更されると、Teams クライアントがポーリング モードを使用するため、プレゼンス状態の更新には数分かかります。

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

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

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

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

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「 アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、 アクセス許可のリファレンスを参照してください

アクセス許可の種類 最小特権アクセス許可 特権の高いアクセス許可
委任 (職場または学校のアカウント) Presence.ReadWrite 注意事項なし。
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション Presence.ReadWrite.All 注意事項なし。

HTTP 要求

POST /users/{userId}/presence/setPresence

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と承認の詳細については、こちらをご覧ください。
Content-Type application/json. 必須です。

要求本文

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

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

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

重要

要求と同様 sessionId に、アプリケーションの ID を指定します。

サポートされている と activityavailability組み合わせは次のとおりです。

availability アクティビティ 説明
使用可能 使用可能 プレゼンス セッションを [使用可能] としてUpdatesします。
多忙 InACall プレゼンス セッションを [ビジー] (InACall) としてUpdatesします。
多忙 InAConferenceCall プレゼンス セッションを [ビジー] (InAConferenceCall) としてUpdatesします。
離れて 離れて プレゼンス セッションを [退席] としてUpdatesします。
DoNotDisturb 提示 プレゼンス セッションを DoNotDisturb、Presenting としてUpdatesします。

応答

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

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

要求

POST https://graph.microsoft.com/v1.0/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