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.
Renueva una suscripción ampliando su tiempo de expiración.
En la tabla de la sección Permisos se enumeran los recursos que admiten la suscripción a notificaciones de cambios.
Las suscripciones expiran después de un período de tiempo que varía según el tipo de recurso. Para evitar que falten las notificaciones de cambio, una aplicación debe renovar sus suscripciones con suficiente antelación a su fecha de caducidad. Consulte suscripción para conocer la duración máxima de una suscripción para cada tipo de recurso.
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 |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
Permisos
Según el recurso y el tipo de permisos (delegado o de aplicación) solicitado, el permiso especificado en la tabla siguiente es el menos privilegiado necesario para llamar a esta API. Para más información, incluida la toma de precauciones antes de elegir permisos con más privilegios, busque los siguientes permisos en Permisos.
Nota:
Algunos recursos admiten notificaciones de cambios en varios escenarios, cada uno de los cuales puede requerir permisos diferentes. En esos casos, use la ruta de acceso del recurso para diferenciar los escenarios.
| Recurso admitido | Delegado (cuenta profesional o educativa) | Delegado (cuenta de Microsoft personal) | Aplicación |
|---|---|---|---|
aiInsights /copilot/users/{userId}/onlineMeetings/getAllAiInsights Información de la IA de Copilot de las reuniones de las que forma parte un usuario concreto. |
OnlineMeetingAiInsight.Read.All | No admitida. | OnlineMeetingAiInsight.Read.All |
aiInsights /copilot/users/{userId}/onlineMeetings/{onlineMeetingId}/aiInsights Información de IA de Copilot para una reunión concreta. |
OnlineMeetingAiInsight.Read.All | No admitida. | OnlineMeetingAiInsight.Read.All |
aiInteracción copilot/users/{userId}/interactionHistory/getAllEnterpriseInteractions Interacciones de IA de Copilot de las que forma parte un usuario concreto. |
AiEnterpriseInteraction.Read | No admitida. | AiEnterpriseInteraction.Read.All, AiEnterpriseInteraction.Read.User |
aiInteracción copilot/interactionHistory/getAllEnterpriseInteractions Interacciones de IA de Copilot en una organización. |
No admitida. | No admitida. | AiEnterpriseInteraction.Read.All |
| approvalItems | No admitida. | No admitida. | ApprovalSolution.ReadWrite.All |
| callRecord | No admitida. | No admitida. | CallRecords.Read.All |
grabación de llamadas communications/onlineMeetings/getAllRecordings Cualquier grabación estará disponible en el espacio empresarial. |
No admitida. | No admitida. | OnlineMeetingRecording.Read.All |
grabación de llamadas communications/onlineMeetings/{onlineMeetingId}/recordings Cualquier grabación estará disponible para una reunión específica. |
OnlineMeetingRecording.Read.All | No admitida. | OnlineMeetingRecording.Read.All |
grabación de llamadas users/{userId}/onlineMeetings/getAllRecordings Una grabación de llamada que está disponible en una reunión organizada por un usuario específico. |
OnlineMeetingRecording.Read.All | No admitida. | OnlineMeetingRecording.Read.All |
grabación de llamadas appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllRecordings Una grabación de llamada que está disponible en una reunión en la que está instalada una aplicación de Teams determinada. |
No admitida. | No admitida. | OnlineMeetingRecording.Read.All, OnlineMeetingRecording.Read. Chat |
Transcripción de llamadas communications/onlineMeetings/getAllTranscripts Cualquier transcripción estará disponible en el espacio empresarial. |
No admitida. | No admitida. | OnlineMeetingTranscript.Read.All |
Transcripción de llamadas communications/onlineMeetings/{onlineMeetingId}/transcripts Cualquier transcripción estará disponible para una reunión específica. |
OnlineMeetingTranscript.Read.All | No admitida. | OnlineMeetingTranscript.Read.All |
Transcripción de llamadas users/{userId}/onlineMeetings/getAllTranscripts Una transcripción de llamada que está disponible en una reunión organizada por un usuario específico. |
OnlineMeetingTranscript.Read.All | No admitida. | OnlineMeetingTranscript.Read.All |
Transcripción de llamadas appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllTranscripts Una transcripción de llamada que está disponible en una reunión en la que está instalada una aplicación de Teams determinada. |
No admitida. | No admitida. | OnlineMeetingTranscript.Read.All, OnlineMeetingTranscript.Read. Chat |
channel /teams/getAllChannels Todos los canales de una organización. |
No admitida. | No admitida. | Channel.ReadBasic.All, ChannelSettings.Read.All |
channel /teams/{id}/channels Todos los canales de un equipo concreto de una organización. |
Channel.ReadBasic.All, ChannelSettings.Read.All | No admitida. | Channel.ReadBasic.All, ChannelSettings.Read.All |
chat /chats Todos los chats de una organización. |
No admitida. | No admitida. | Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
chat /chats/{id} Un chat en particular. |
Chat.ReadBasic, Chat.Read, Chat.ReadWrite | No admitida. | ChatSettings.Read. Chat, ChatSettings.ReadWrite. Chat, chat. Administrar. Chat, chat. ReadBasic.All, Chat. Read.All, Chat. ReadWrite.All |
chat /appCatalogs/teamsApps/{id}/installedToChats Todos los chats de una organización donde está instalada una aplicación de Teams determinada. |
No admitida. | No admitida. | Chat. ReadBasic.WhereInstalled, chat. Read.WhereInstalled, Chat. ReadWrite.WhereInstalled |
chat /users/{id}/chats Todos los chats de los que forma parte un usuario concreto. |
Chat.ReadBasic, Chat.Read, Chat.ReadWrite | No admitida. | Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
chatMessage /teams/{id}/channels/{id}/messages Todos los mensajes y respuestas de un canal determinado. |
ChannelMessage.Read.All, Group.Read.All, Group.ReadWrite.All | No admitida. | ChannelMessage.Read.Group, ChannelMessage.Read.All |
chatMessage /teams/getAllMessages Todos los mensajes de canal de la organización. |
No admitida. | No admitida. | ChannelMessage.Read.All |
chatMessage /chats/{id}/messages Todos los mensajes de un chat. |
Chat.Read, Chat.ReadWrite | No admitida. | Chat.Read.All |
chatMessage /chats/getAllMessages Todos los mensajes de chat de una organización. |
No admitida. | No admitida. | Chat.Read.All |
chatMessage /users/{id}/chats/getAllMessages Mensajes de chat para todos los chats de los que forma parte un usuario concreto. |
Chat.Read, Chat.ReadWrite | No admitida. | Chat.Read.All, Chat.ReadWrite.All |
chatMessage /appCatalogs/teamsApps/{id}/installedToChats/getAllMessages Chat mensajes para todos los chats de una organización donde está instalada una aplicación de Teams determinada. |
No admitida. | No admitida. | Chat. Read.WhereInstalled, Chat. ReadWrite.WhereInstalled |
| contact | Contacts.Read | Contacts.Read | Contacts.Read |
conversationMember /chats/getAllMembers Miembros de todos los chats de una organización. |
No admitida. | No admitida. | ChatMember.Read.All, ChatMember.ReadWrite.All, Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All. |
conversationMember /chats/{id}/members Miembros de un chat en particular. |
ChatMember.Read, ChatMember.ReadWrite, Chat.ReadBasic, Chat.Read, Chat.ReadWrite | No admitida. | ChatMember.Read.Chat, Chat.Manage.Chat, ChatMember.Read.All, ChatMember.ReadWrite.All, Chat.ReadBasic.All, Chat.Read.All, Chat.ReadWrite.All |
conversationMember /appCatalogs/teamsApps/{id}/installedToChats/getAllMembers Miembros del chat para todos los chats de una organización donde está instalada una aplicación de Teams determinada. |
No admitida. | No admitida. | ChatMember.Read.WhereInstalled, ChatMember.ReadWrite.WhereInstalled, Chat. ReadBasic.WhereInstalled, chat. Read.WhereInstalled, Chat. ReadWrite.WhereInstalled |
conversationMember /teams/getAllMembers Miembros de todos los equipos de una organización. |
No admitida. | No admitida. | TeamMember.Read.All, TeamMember.ReadWrite.All |
conversationMember /teams/{id}/members Miembros de un equipo en particular. |
TeamMember.Read.All | No admitida. | TeamMember.Read.All |
conversationMember /teams/{id}/channels/getAllMembers Miembros de todos los canales privados de un equipo determinado. |
No admitida. | No admitida. | ChannelMember.Read.All |
conversationMember /teams/getAllChannels/getAllMembers |
No admitida. | No admitida. | ChannelMember.Read.All |
| driveItem (OneDrive personal del usuario) | No admitida. | Files.ReadWrite | No admitida. |
| driveItem (OneDrive para el trabajo o la escuela) | Files.ReadWrite.All | No admitida. | Files.ReadWrite.All |
| evento | Calendars.Read | Calendars.Read | Calendars.Read |
| grupo | Group.Read.All | No admitida. | Group.Read.All |
| conversación de grupo | Group.Read.All | No admitida. | No admitida. |
Alerta de supervisión de Microsoft Entra Health /reports/healthmonitoring/alerts |
HealthMonitoringAlertConfig.ReadWrite.All | No admitida. | HealthMonitoringAlertConfig.ReadWrite.All |
| lista | Sites.ReadWrite.All | No admitida. | Sites.ReadWrite.All |
| message | Mail.ReadBasic, Mail.Read | Mail.ReadBasic, Mail.Read | Mail.Read |
offerShiftRequest /teams/{id}/schedule/offerShiftRequests Cambios en cualquier solicitud de turno de oferta en un equipo. |
Schedule.Read.All, Schedule.ReadWrite.All | No admitida. | Schedule.Read.All, Schedule.ReadWrite.All |
| Reunión en línea | No admitida. | No admitida. | OnlineMeetings.Read.All, OnlineMeetings.ReadWrite.All* |
openShiftChangeRequest /teams/{id}/schedule/openShiftChangeRequests Cambios en cualquier solicitud de turno abierto en un equipo. |
Schedule.Read.All, Schedule.ReadWrite.All | No admitida. | Schedule.Read.All, Schedule.ReadWrite.All |
| presencia | Presence.Read.All | No admitida. | No admitida. |
| printer | No admitida. | No admitida. | Printer.Read.All, Printer.ReadWrite.All |
| printTaskDefinition | No admitida. | No admitida. | PrintTaskDefinition.ReadWrite.All |
| alerta de seguridad | SecurityEvents.ReadWrite.All | No admitida. | SecurityEvents.ReadWrite.All |
shift /teams/{id}/schedule/shifts Cambios en cualquier turno de un equipo. |
Schedule.Read.All, Schedule.ReadWrite.All | No admitida. | Schedule.Read.All, Schedule.ReadWrite.All |
swapShiftsChangeRequest /teams/{id}/schedule/swapShiftsChangeRequests Cambios en cualquier solicitud de cambio de turno en un equipo. |
Schedule.Read.All, Schedule.ReadWrite.All | No admitida. | Schedule.Read.All, Schedule.ReadWrite.All |
team /teams Todos los equipos de una organización. |
No admitida. | No admitida. | Team.ReadBasic.All, TeamSettings.Read.All |
team /teams/{id} Un equipo en particular. |
Team.ReadBasic.All, TeamSettings.Read.All | No admitida. | Team.ReadBasic.All, TeamSettings.Read.All |
timeOffRequest /teams/{id}/schedule/timeOffRequests Cambios en cualquier solicitud de tiempo libre de un equipo. |
Schedule.Read.All, Schedule.ReadWrite.All | No admitida. | Schedule.Read.All, Schedule.ReadWrite.All |
| todoTask | Tasks.ReadWrite | Tasks.ReadWrite | No admitida. |
| user | User.Read.All | User.Read.All | User.Read.All |
| virtualEventWebinar | VirtualEvent.Read | No admitida. | VirtualEvent.Read.All |
| baseTask (obsoleto) | Tasks.ReadWrite | Tasks.ReadWrite | No admitida. |
Nota:
Los permisos siguientes usan el consentimiento específico del recurso:
- OnlineMeetingRecording.Read. Chat
- OnlineMeetingTranscript.Read. Chat
- ChatSettings.Read.Chat
- ChatSettings.ReadWrite.Chat
- Chat.Manage.Chat
- ChannelMessage.Read.Group
- ChatMember.Read.Chat
- AiEnterpriseInteraction.Read.User
chatMessage
Se puede especificar que las suscripciones a chatMessage incluyan datos de recursos (includeResourceData establecido en true). En ese caso, se requiere cifrado y se produce un error en la creación de la suscripción si no se especifica un encryptionCertificate para dichas suscripciones.
Use el encabezado de Prefer: include-unknown-enum-members solicitud para obtener los siguientes valores en chatMessagemessageTypeevolvable enum:systemEventMessage for /teams/{id}/channels/{id}/messages y /chats/{id}/messages resource.
conversationMember
Las suscripciones conversationMember se pueden especificar para incluir datos de recursos (includeResourceData establecido en true). En ese caso, se requiere cifrado y se produce un error en la creación de la suscripción si no se especifica un encryptionCertificate para dichas suscripciones.
Equipo, canal y chat
Se pueden especificar suscripciones de equipo, canal y chat para incluir datos de recursos (includeResourceData establecido en true). En ese caso, se requiere cifrado y se produce un error en la creación de la suscripción si no se especifica un encryptionCertificate para dichas suscripciones.
Puede usar el parámetro de cadena de consulta notifyOnUserSpecificProperties al suscribirse a cambios en un chat determinado o en el nivel de usuario. Al establecer el parámetro de cadena de consulta notifyOnUserSpecificProperties durante true la creación de la suscripción, se envían dos tipos de cargas al suscriptor. Un tipo contiene propiedades específicas del usuario y el otro se envía sin ellas. Para obtener más información, consulte Obtener notificaciones de cambios para chats con Microsoft Graph.
aiInsights
Las suscripciones a Copilot AI Insights requieren una licencia válida de Copilot que incluya el siguiente plan de servicio de Copilot:
- Microsoft 365 Copilot Chat: 3f30311c-6b1e-48a4-ab79-725b469da960
aiInteracción
Las suscripciones en interacciones de IA de Copilot requieren una licencia válida de Copilot que incluya el siguiente plan de servicio de Copilot:
- Microsoft 365 Copilot Chat: 3f30311c-6b1e-48a4-ab79-725b469da960
En el caso de las suscripciones que se centran en las interacciones de IA de Copilot de las que forma parte un usuario determinado, el usuario de la ruta de acceso del recurso debe tener asignados los planes de servicio anteriores en un estado válido.
En el caso de las suscripciones que se dirigen a las interacciones de IA de Copilot para todo el inquilino, el inquilino debe tener licencias válidas aprovisionadas que incluyan todos los planes de servicio anteriores de Copilot.
driveItem
Se aplican más limitaciones a las suscripciones de elementos de OneDrive. Estas limitaciones se aplican para crear y administrar (obtener, actualizar y eliminar) las suscripciones.
En OneDrive personal, puede suscribirse a la carpeta raíz o a cualquier subcarpeta de la unidad. En OneDrive para el trabajo o la escuela, solo puede suscribirse a la carpeta raíz. Se envían notificaciones de cambios para los cambios solicitados en la carpeta suscrita o en cualquier archivo, carpeta u otras instancias de driveItem en su jerarquía. No puede suscribirse a instancias de unidad o elemento de unidad que no sean carpetas, como archivos individuales.
contactos, eventos y mensajes
Puede suscribirse a los cambios en los recursos de contactos, eventos o mensajes de Outlook y, opcionalmente, especificar en la carga de solicitud POST si se incluirán datos de recursos cifrados en las notificaciones.
Crear y administrar (obtener, actualizar y eliminar) una suscripción requiere un ámbito de lectura para el recurso. Por ejemplo, para obtener notificaciones de cambio de mensajes, la aplicación necesita el permiso Mail.Read. Las notificaciones de cambio de Outlook admiten ámbitos de permisos delegados y de aplicación. Tenga en cuenta las siguientes limitaciones:
El permiso delegado es compatible con la suscripción a los elementos en las carpetas que se encuentran solo en el buzón del usuario que ha iniciado sesión. Por ejemplo, no puede usar el permiso delegado Calendars.Read para suscribirse a eventos del buzón de otro usuario.
Para suscribirse y cambiar las notificaciones de eventos, contactos o mensajes de Outlook en carpetas compartidas o delegadas:
- Use los permisos de aplicación correspondientes para suscribirse a los cambios de los elementos de una carpeta o un buzón de cualquier usuario del espacio empresarial.
- No use los permisos de uso compartido de Outlook (Contacts.Read.Shared, Calendars.Read.Shared, Mail.Read.Shared y sus homólogos de lectura y escritura), ya que no admiten la suscripción para cambiar las notificaciones de los elementos de las carpetas compartidas o delegadas.
onlineMeetings, presence
Las suscripciones de presencia y reuniones en línea requieren cifrado para las notificaciones con datos de recursos. Se produce un error en la creación de la suscripción si no se especifican encryptionCertificate y encryptionCertificateId si se desean datos de recursos en las notificaciones. Para más información, vea:
- Configure las notificaciones de cambio de Microsoft Graph con datos de recursos (notificaciones enriquecidas).
- Reciba notificaciones de cambios para reuniones en línea.
- Obtener notificaciones de cambios para actualizaciones de presencia en Microsoft Teams
virtualEventWebinar
Las suscripciones a eventos virtuales solo admiten notificaciones básicas y se limitan a unas pocas entidades de un evento virtual. Para obtener más información sobre los tipos de suscripción admitidos, consulte Obtener notificaciones de cambios para las actualizaciones de eventos virtuales de Microsoft Teams.
Solicitud HTTP
PATCH /subscriptions/{id}
Encabezados de solicitud
| Nombre | Tipo | Descripción |
|---|---|---|
| Authorization | string | {token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione solo los valores de las propiedades que se van a actualizar. Las propiedades existentes que no están incluidas en el cuerpo de la solicitud mantienen sus valores anteriores o se recalculan en función de los cambios realizados en otros valores de propiedad.
En la tabla siguiente se especifican las propiedades que se pueden actualizar.
El cuerpo de la solicitud debe contener la expirationDateTime propiedad or notificationUrl y su valor.
| Nombre | Tipo | Descripción |
|---|---|---|
| expirationDateTime | DateTimeOffset | Especifica la fecha y hora en UTC en que expira la suscripción. Para obtener la suscripción máxima admitida, el período de tiempo varía en función del recurso. Para obtener más información, consulte Duración de la suscripción. |
| notificationUrl | Cadena | Esta dirección URL debe usar el protocolo HTTPS. Cualquier parámetro de cadena de consulta incluido en la propiedad notificationUrl se incluye en la solicitud HTTP POST cuando Microsoft Graph envía las notificaciones de cambio. |
Respuesta
Si se ejecuta correctamente, este método devuelve un código de respuesta 200 OK y el objeto subscription en el cuerpo de la respuesta.
Nota:
Una 404 Not Found respuesta indica que la suscripción ya no existe. Por ejemplo, ya ha expirado y el servicio lo ha quitado, o se ha eliminado. La suscripción no se puede renovar en este estado, por lo que se sigue produciendo un error al reintentar la actualización. Para evitar que falten las notificaciones de cambios, cree una nueva suscripción en lugar de volver a intentar la actualización. Para reducir la frecuencia con la que esto ocurre, renueva las suscripciones mucho antes de que expiren y usa las notificaciones de ciclo de vida para renovar las suscripciones de forma proactiva.
Vea Respuestas de error para obtener detalles sobre la manera en que se devuelven los errores.
Ejemplo
Solicitud
En el ejemplo siguiente se muestra la solicitud.
PATCH https://graph.microsoft.com/beta/subscriptions/{id}
Content-type: application/json
{
"expirationDateTime":"2016-11-22T18:23:45.9356913Z"
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 200 OK
Content-type: application/json
{
"id":"7f105c7d-2dc5-4530-97cd-4e7ae6534c07",
"resource":"me/messages",
"applicationId": "24d3b144-21ae-4080-943f-7067b395b913",
"changeType":"created,updated",
"clientState":"secretClientValue",
"notificationUrl":"https://webhook.azurewebsites.net/api/send/myNotifyClient",
"lifecycleNotificationUrl":"https://webhook.azurewebsites.net/api/send/lifecycleNotifications",
"expirationDateTime":"2016-11-22T18:23:45.9356913Z",
"creatorId": "8ee44408-0679-472c-bc2a-692812af3437",
"latestSupportedTlsVersion": "v1_2",
"encryptionCertificate": "",
"encryptionCertificateId": "",
"includeResourceData": false,
"notificationContentType": "application/json"
}