通知を作成して送信する (非推奨)
名前空間: microsoft.graph
重要
Microsoft Graph 通知 API は非推奨になり、2022 年 1 月末までにデータの返送を停止します。 別の通知エクスペリエンスについては、Microsoft Azure Notification Hubs を参照してください。詳細については、このブログ投稿を参照してください。
Microsoft Graph を使用してユーザーを対象とする通知を作成して送信します。 通知は Microsoft Graph 通知フィード ストアに格納され、ユーザーがサインインしているすべてのデバイス エンドポイント上のすべてのアプリ クライアントに送信されます。
この API は、次の国内クラウド展開で使用できます。
グローバル サービス | 米国政府機関 L4 | 米国政府機関 L5 (DOD) | 21Vianet が運営する中国 |
---|---|---|---|
✅ | ❌ | ❌ | ❌ |
アクセス許可
この 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 | Body は配列です (複数の通知はサポートされていません)。 |
HttpStatusCode.BadRequest | 本文が API のコントラクトと一致しません。 |
HttpStatusCode.Forbidden | 呼び出し元がブロックリストにあります。 |
HttpStatusCode.MethodNotAllowed | 使用される HTTP メソッドはサポートされていません。 |
HttpStatusCode.BadRequest | サポートされていないヘッダーが要求に存在します。 次の 2 つのヘッダーはサポートされていません。 If-Modified-Since If-Range |
HttpStatusCode.UnsupportedMediaType | ヘッダー Content-Encoding が存在し、 または 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!"
}
}
}