presence: setStatusMessage

Пространство имен: microsoft.graph

Важно!

API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.

Задайте сообщение о состоянии присутствия для пользователя. Можно указать необязательную дату и время окончания срока действия.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) Presence.ReadWrite Недоступно.
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Приложение Presence.ReadWrite.All Недоступно.

HTTP-запрос

POST /users/{userId}/presence/setStatusMessage

Заголовки запроса

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Content-Type application/json. Обязательно.

Текст запроса

В тексте запроса предоставьте JSON-объект с указанными ниже параметрами.

Параметр Тип Описание
statusMessage microsoft.graph.presenceStatusMessage Содержит сообщение о состоянии присутствия пользователя.

Отклик

В случае успешного выполнения этот метод возвращает код отклика 200 OK.

Примеры

Пример 1. Установка сообщения о состоянии с датой окончания срока действия

Следующий запрос задает сообщение о состоянии присутствия как "Привет, я в настоящее время на собрании"." для пользователя fa8bf3dc-eca7-46b7-bad1-db199b62afc3с истечением срока действия .2022-10-18 at 17:05:33.2079781 Pacific Standard Time

Запрос

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

{
  "statusMessage": {
    "message": {
        "content": "Hey I'm currently in a meeting.",
        "contentType": "text"
    },
    "expiryDateTime": {
        "dateTime": "2022-10-18T17:05:33.2079781",
        "timeZone": "Pacific Standard Time"
    }
  }
}

Отклик

HTTP/1.1 200 OK

Пример 2. Установка сообщения о состоянии другого пользователя

Следующий запрос задает сообщение о состоянии присутствия как "Привет, я теперь доступен" для пользователя fa8bf3dc-eca7-46b7-bad1-db199b62afc3. В примере 3 сведения о присутствии пользователя fa8bf3dc-eca7-46b7-bad1-db199b62afc3 получаются от имени другого пользователя с помощью запроса getPresence .

Запрос

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

{
  "statusMessage": {
    "message": {
      "content": "Hey I am available now",
      "contentType": "text"
    }
  }
}

Отклик

HTTP/1.1 200 OK

Пример 3. Получение другого присутствия пользователя

Этот пример следует примеру 2. Сведения о присутствии пользователя fa8bf3dc-eca7-46b7-bad1-db199b62afc3 получаются от имени другого пользователя с помощью запроса getPresence .

Запрос

GET https://graph.microsoft.com/beta/users/fa8bf3dc-eca7-46b7-bad1-db199b62afc3/presence

Отклик

Так как этот запрос получает состояние присутствия для другого statusMessage.expiryDateTime пользователя, свойства и statusMessage.publishedDateTime не включаются в текст ответа.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": "fa8bf3dc-eca7-46b7-bad1-db199b62afc3",
  "availability": "Available",
  "activity": "Available",
  "outOfOfficeSettings": {
    "message": null,
    "isOutOfOffice": false
  },
  "statusMessage": {
    "message": {
      "content": "Hey I am available now",
      "contentType": "text"
    }
  }
}