(弃用) 创建和发送通知
命名空间:microsoft.graph
重要
Microsoft Graph 通知 API 已弃用,将在 2022 年 1 月底停止返回数据。 有关其他通知体验,请参阅 Microsoft Azure 通知中心,并查看此博客文章了解详细信息。
通过 Microsoft Graph 创建并发送面向用户的通知。 通知存储在 Microsoft Graph 通知源存储中,并发送到用户登录的所有设备终结点上的所有应用客户端。
此 API 可用于以下国家级云部署。
全局服务 | 美国政府 L4 | 美国政府 L5 (DOD) | 由世纪互联运营的中国 |
---|---|---|---|
✅ | ❌ | ❌ | ❌ |
权限
为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
权限类型 | 最低特权权限 | 更高特权权限 |
---|---|---|
委派(工作或学校帐户) | Notifications.ReadWrite.CreatedByApp | 不可用。 |
委派(个人 Microsoft 帐户) | Notifications.ReadWrite.CreatedByApp | 不可用。 |
应用程序 | 不支持。 | 不支持。 |
HTTP 请求
POST /me/notifications/
请求标头
名称 | 说明 |
---|---|
Authorization | 授权标头用于传递调用方凭据。 持有者 {token}。 必填。 |
X-UNS-ID | Microsoft Graph 通知服务在创建订阅后返回并用于面向特定用户的 UserNotificationSubscriptionId。 必填。 |
Content-type | application/json. 必需。 |
请求正文
在请求正文中,提供 通知 对象的 JSON 表示形式。
响应
如果成功,此方法将返回一个 201 Created
响应代码,指示已成功创建和存储通知。 通知稍后会扇出到具有有效订阅的所有指定终结点。
下表列出了可返回的可能错误和响应代码。
错误代码 | 说明 |
---|---|
HttpStatusCode.BadRequest | 正文是一个数组, (不支持) 多个通知。 |
HttpStatusCode.BadRequest | 正文与 API 的协定不匹配。 |
HttpStatusCode.Forbidden | 调用方位于阻止列表中。 |
HttpStatusCode.MethodNotAllowed | 不支持使用的 HTTP 方法。 |
HttpStatusCode.BadRequest | 请求中存在不支持的标头。 不支持两个标头: If-Modified-Since If-Range |
HttpStatusCode.UnsupportedMediaType | 标头内容编码存在,并且具有 或 Gzip 以外的Deflate 压缩算法值。 |
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!"
}
}
}