presence: setPresence
Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Задайте состояние доступности и действий в сеансе присутствия приложения для пользователя.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
---|---|---|---|
✅ | ❌ | ❌ | ❌ |
Сеансы присутствия
У пользователя может быть несколько сеансов присутствия, так как он может находиться в нескольких клиентах Teams (настольных, мобильных и веб-). Каждый клиент Teams имеет независимый сеанс присутствия, и присутствие пользователя является агрегированным состоянием из всех сеансов позади.
Аналогичным образом приложение может иметь собственный сеанс присутствия для пользователя и иметь возможность обновлять состояние.
Ниже приведен приоритет агрегирования состояний сеанса, при этом "A > B" представляет A, имеющий приоритет над B:
- Пользовательские состояния > на уровне сеанса (предпочитаемое пользователем состояние переопределяет состояния на уровне сеанса)
- Среди состояний на уровне сеанса: DoNotDisturb > Busy > Available Away >
Примечание: При изменении присутствия пользователя в Microsoft Graph, так как клиент Teams использует режим опроса, обновление состояния присутствия займет несколько минут.
Время ожидания, истечение срока действия и сохранение активности
Время ожидания сеанса присутствия может истекать и истекать, поэтому приложению необходимо вызвать этот API до истечения времени ожидания, чтобы сохранить состояние сеанса; или до истечения срока действия, чтобы сохранить сеанс в активном режиме.
Время ожидания сеанса присутствия может истекло, если доступность — Available
и время ожидания составляет 5 минут. Когда время ожидания истекает, состояние присутствия исчезает поэтапно. Например, если приложение задает для сеанса Available/Available
присутствия значение , состояние изменится на Available/AvailableInactive
5 минут с первым тайм-аутом, а затем Away/Away
еще через 5 минут со вторым тайм-аутом.
Срок действия сеанса присутствия можно настроить с помощью expirationDuration
параметра . По истечении срока действия сеанса он становится Offline
.
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
---|---|---|
Делегированные (рабочая или учебная учетная запись) | Presence.ReadWrite | Недоступно. |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
Приложение | Presence.ReadWrite.All | Недоступно. |
HTTP-запрос
POST /users/{userId}/presence/setPresence
Заголовки запроса
Имя | Описание |
---|---|
Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
Content-Type | application/json. Обязательно. |
Текст запроса
В тексте запроса предоставьте JSON-объект с указанными ниже параметрами.
Параметр | Тип | Описание |
---|---|---|
Sessionid | string | Идентификатор сеанса присутствия приложения. |
availability | string | Базовые сведения о присутствии. |
действие | string | Дополнительные сведения о доступности. |
expirationDuration | duration | Истечение срока действия сеанса присутствия приложения. Значение представлено в формате ISO 8601 для длительности.Если этот параметр не указан, будет применен срок действия по умолчанию в 5 минут. |
Важно!
Укажите идентификатор приложения, как sessionId
в запросе.
Поддерживаемые сочетания и availability
activity
:
availability | действие | Описание |
---|---|---|
Доступно | Доступно | Обновления сеанс присутствия значение Доступно. |
Занята | InACall | Обновления сеанс присутствия как Занят, InACall. |
Занята | InAConferenceCall | Обновления сеанс присутствия значение Занято, InAConferenceCall. |
Прочь | Прочь | Обновления сеанс присутствия как "Нет". |
DoNotDisturb | Представления | Обновления сеанс присутствия: DoNotDisturb, Presenting. |
Отклик
В случае успешного выполнения этот метод возвращает код отклика 200 OK
.
Примеры
В следующем запросе отображается приложение с идентификатором 22553876-f5ab-4529-bffb-cfe50aa89f87
, который задает сеанс присутствия для пользователя fa8bf3dc-eca7-46b7-bad1-db199b62afc3
.
Запрос
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