Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Cree y envíe una notificación dirigida a un usuario a través de Microsoft Graph. La notificación se almacena en el almacén de fuentes de notificaciones de Microsoft Graph y se envía a todos los clientes de la aplicación en todos los puntos de conexión del dispositivo en los que el usuario ha iniciado sesión.
Esta API está disponible en las siguientes implementaciones en la nube nacional.
| Servicio global | Administración pública de EE. UU. | Gobierno de EE. UU. L5 (DOD) | China operado por 21Vianet |
|---|---|---|---|
| ✅ | ❌ | ❌ | ❌ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use uno o varios permisos con privilegios más altos solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
| Tipo de permiso | Permisos con privilegios mínimos | Permisos con privilegios más altos |
|---|---|---|
| Delegado (cuenta profesional o educativa) | Notifications.ReadWrite.CreatedByApp | No disponible. |
| Delegado (cuenta personal de Microsoft) | Notifications.ReadWrite.CreatedByApp | No disponible. |
| Aplicación | No admitida. | No admitida. |
Solicitud HTTP
POST /me/notifications/
Encabezados de solicitud
| Nombre | Descripción |
|---|---|
| Autorización | El encabezado de autorización se usa para pasar las credenciales de la persona que llama. {token} de portador. Obligatorio. |
| X-UNS-ID | UserNotificationSubscriptionId que devuelve el servicio de notificación de Microsoft Graph después de crear una suscripción y que se usa para dirigirse al usuario específico. Obligatorio. |
| Tipo de contenido | application/json. Obligatorio. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione una representación JSON de un objeto de notificación .
Respuesta
Si se realiza correctamente, este método devuelve un 201 Created código de respuesta que indica que la notificación se creó y almacenó correctamente. A continuación, la notificación se distribuye a todos los puntos de conexión especificados con una suscripción válida.
En la tabla siguiente se enumeran los posibles códigos de error y respuesta que se pueden devolver.
| Código de error | Descripción |
|---|---|
| HttpStatusCode.BadRequest | El cuerpo es una matriz (no se admiten varias notificaciones). |
| HttpStatusCode.BadRequest | El cuerpo no coincide con el contrato de la API. |
| HttpStatusCode.Forbidden | El autor de la llamada está en la lista bloqueada. |
| HttpStatusCode.MethodNotAllowed | El método HTTP usado no es compatible. |
| HttpStatusCode.BadRequest | Hay encabezados no admitidos presentes en la solicitud. No se admiten dos encabezados: if-modified-since If-Range |
| HttpStatusCode.UnsupportedMediaType | El encabezado Content-Encoding está presente y tiene valores de algoritmo de compresión distintos de Deflate o .Gzip |
| HttpStatusCode.BadRequest | Carga útil no válida. |
| HttpStatusCode.Forbidden | El autor de la llamada no está autorizado para actuar en nombre del usuario ni para enviar una notificación al usuario. |
| HttpStatusCode.Unauthorized | El cuerpo de la solicitud contiene tipos de datos de actividad no válidos. |
| HttpStatusCode.OK | Actividad creada correctamente. |
| HttpStatusCode.NotAcceptable | La solicitud se ha limitado o el servidor está ocupado. |
Ejemplo
Solicitud
En el ejemplo siguiente se muestra la solicitud.
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"
}
Respuesta
En el ejemplo siguiente se muestra la respuesta correspondiente.
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!"
}
}
}