Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пространство имен: microsoft.graph
Важно!
API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Создайте и отправьте уведомление для пользователя через Microsoft Graph. Уведомление хранится в хранилище веб-каналов уведомлений Microsoft Graph и отправляется всем клиентам приложений на всех конечных точках устройств, в которые вошел пользователь.
Этот API доступен в следующих национальных облачных развертываниях.
| Глобальное обслуживание | Правительство США L4 | Правительство США L5 (DOD) | Китай, обслуживаемый 21Vianet |
|---|---|---|---|
| ✅ | ❌ | ❌ | ❌ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более высокий уровень привилегий или разрешений, только если это требуется вашему приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в статье Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
| Тип разрешения | Разрешения с наименьшим объемом привилегий | Разрешения с более высоким уровнем привилегий |
|---|---|---|
| Делегированные (рабочая или учебная учетная запись) | Notifications.ReadWrite.CreatedByApp | Недоступно. |
| Делегированные (личная учетная запись Майкрософт) | Notifications.ReadWrite.CreatedByApp | Недоступно. |
| Для приложений | Не поддерживается. | Не поддерживается. |
HTTP-запрос
POST /me/notifications/
Заголовки запросов
| Имя | Описание |
|---|---|
| Авторизация | Заголовок авторизации используется для передачи учетных данных вызывающей стороны. Bearer {token}. Обязательно. |
| X-UNS-ID | UserNotificationSubscriptionId, который возвращается службой уведомлений Microsoft Graph после создания подписки и используется для назначения определенному пользователю. Обязательно. |
| Content-Type | application/json. Обязательно. |
Текст запроса
В тексте запроса укажите JSON-представление объекта уведомления .
Отклик
В случае успеха этот метод возвращает 201 Created код ответа, указывающий, что уведомление было успешно создано и сохранено. Затем уведомление разослано на все указанные конечные точки с действительной подпиской.
В следующей таблице перечислены возможные коды ошибок и ответов, которые можно вернуть.
| Код ошибки | Описание |
|---|---|
| HttpStatusCode.BadRequest | Текст — массив (несколько уведомлений не поддерживаются). |
| HttpStatusCode.BadRequest | Body не соответствует контракту для API. |
| HttpStatusCode.Forbidden | Вызывающая сторона находится в списке заблокированных. |
| HttpStatusCode.MethodNotAllowed | Используемый метод HTTP не поддерживается. |
| HttpStatusCode.BadRequest | В запросе присутствуют неподдерживаемые заголовки. Два заголовка не поддерживаются: if-modified-since If-Range |
| HttpStatusCode.UnsupportedMediaType | Заголовок Content-Encoding присутствует и имеет значения алгоритма сжатия, отличные от Deflate или Gzip. |
| HttpStatusCode.BadRequest | Недопустимые полезные данные. |
| HttpStatusCode.Forbidden | Вызывающая сторона не имеет права действовать от имени пользователя или отправлять пользователю уведомления. |
| HttpStatusCode.Unauthorized | Текст запроса содержит недопустимые типы данных о действиях. |
| HttpStatusCode.OK | Действие успешно создано. |
| HttpStatusCode.NotAcceptable | Запрос отрегулирован или сервер занят. |
Пример
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/me/notifications/
Content-type: application/json
{
"targetHostName": "graphnotifications.sample.windows.com",
"appNotificationId": "testDirectToastNotification",
"expirationDateTime": "2019-10-30T23:59:00.000Z",
"payload": {
"visualContent": {
"title": "Hello World!",
"body": "Notifications are Great!"
}
},
"targetPolicy": {
"platformTypes": [
"windows",
"ios",
"android"
]
},
"priority": "High",
"groupName": "TestGroup",
"displayTimeToLive": "60"
}
Отклик
В следующем примере показан соответствующий ответ.
HTTP/1.1 201
client-request-id: 71e62feb-8d72-4912-8b2c-4cee9d89e781
content-length: 356
content-type: application/json
location: https://graph.microsoft.com/beta/me/activities/119081f2-f19d-4fa8-817c-7e01092c0f7d
request-id: 71e62feb-8d72-4912-8b2c-4cee9d89e781
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('graphnotify%40contoso.com')/notifications/$entity",
"displayTimeToLive": 59,
"expirationDateTime": "2019-10-28T22:05:36.25Z",
"groupName": "TestGroup",
"id": "119081f2-f19d-4fa8-817c-7e01092c0f7d",
"priority": "High",
"payload": {
"visualContent": {
"title": "Hello World!",
"body": "Notifications are Great!"
}
}
}