创建并发送已 (的通知)
命名空间:microsoft.graph
通过 Microsoft Graph 创建并发送面向用户Graph。 通知存储在 Microsoft Graph源存储中,并发送到用户登录的所有设备终结点上的所有应用客户端。
权限
您的应用程序服务不需要任何其他权限来向目标用户发布通知。
重要
如果选择改为通过委派权限代表用户发布通知,则调用此 API 需要以下权限之一。 建议不要使用此选项来创建通知。 若要了解更多信息,包括如何选择权限,请参阅 权限。
| 权限类型 | 权限(从最低特权到最高特权) |
|---|---|
| 委派(工作或学校帐户) | Notifications.ReadWrite.CreatedByApp |
| 委派(个人 Microsoft 帐户) | Notifications.ReadWrite.CreatedByApp |
| 应用程序 | 不支持。 |
HTTP 请求
POST /me/notifications/
请求标头
| 名称 | 说明 |
|---|---|
| Authorization | 授权标头用于传递调用方凭据。 Bearer {token}。 必需。 |
| X-UNS-ID | 创建订阅后由 Microsoft Graph UserNotificationSubscriptionId,用于定位特定用户。 必需。 |
| Content-type | application/json. Required. |
请求正文
在请求正文中,提供通知对象的 JSON 表示 形式。
响应
如果成功,此方法返回 201 Created 响应代码,指示已成功创建和存储通知。 通知随后会扇出到具有有效订阅的所有指定终结点。
下表列出了可能的错误和可返回的响应代码。
| 错误代码 | Descrition |
|---|---|
| HttpStatusCode.BadRequest | 正文是一个 (,不支持多个) 。 |
| HttpStatusCode.BadRequest | 正文与 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!"
}
}
}
反馈
提交和查看相关反馈