次の方法で共有


通知を作成し送信する

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

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!"
        }
    }
}