Recevoir des notifications de modification pour les mises à jour de présence dans Microsoft Teams
Les notifications de modification dans Microsoft Graph vous permettent de vous abonner aux modifications apportées aux informations de présence des utilisateurs dans Microsoft Teams. Les notifications de modification offrent une alternative à l’interrogation de la présence à l’aide des API GET presence et POST getPresencesByUserId .
Utilisez des webhooks pour vous abonner aux informations de présence des utilisateurs et recevoir des notifications en cas de modifications. Pour obtenir des informations générales sur les webhooks, consultez Notifications de modification microsoft API Graph.
Autorisations
Type d’autorisation | Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins) | Versions prises en charge |
---|---|---|
Déléguée (compte professionnel ou scolaire) | Presence.Read.All. | V1, bêta. |
Déléguée (compte Microsoft personnel) | Non prise en charge. | Non prise en charge. |
Application | Non prise en charge. | Non prise en charge. |
Ressources prises en charge pour la présence
Les abonnements ont un délai d’expiration maximal d’une heure. Un abonnement peut être renouvelé via l’API Mettre à jour l’abonnement avant son expiration, ou un nouvel abonnement peut être créé pour la même ressource après expiration. Les abonnements de présence prennent en charge les notifications avec des données de ressources, ce qui permet de fournir des informations plus détaillées ainsi que des notifications de modification. Pour plus d’informations, consultez Configurer des notifications de modification avec des données de ressources.
Le tableau suivant répertorie les types de modifications de présence auxquels vous pouvez vous abonner. Pour plus d’informations, consultez Créer un abonnement.
Type d’abonnement de présence | URL de ressource | Types de modifications pris en charge |
---|---|---|
Modifications de la présence d’un utilisateur unique | communications/presences/{id} |
Mis à jour |
Modifications de présence d’utilisateurs en bloc (650 ID d’utilisateur maximum) | communications/presences?$filter=id in ('{id}', '{id}', ...) |
Mis à jour |
S’abonner aux modifications de présence
Pour vous abonner aux modifications de présence, vous pouvez définir la ressource dans la charge utile de l’abonnement sur communications/presences/{id}
où le champ {id} doit être remplacé par le GUID de l’ID utilisateur de la présence de l’utilisateur. Cet abonnement fournit des notifications de modification lorsque la présence de l’utilisateur change.
Exemple : Charges utiles d’abonnement de présence d’utilisateur unique
{
"changeType": "updated",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "communications/presences/{id}",
"expirationDateTime": "2023-09-14T10:00:00.0000000Z",
"includeResourceData": true,
"encryptionCertificate": "{encryption certificate}",
"encryptionCertificateId": "{certificate id}",
"clientState": "{secret client state}"
}
S’abonner à la présence de plusieurs utilisateurs
Les abonnements en bloc pour la présence d’utilisateurs peuvent être créés en définissant la valeur de la ressource d’abonnement sur /communications/presences?$filter=id in ('{id}', '{id}',...)
, où {id} représente un GUID d’ID utilisateur des utilisateurs. Un maximum de 650 utilisateurs peuvent être abonnés dans un seul abonnement. Les modifications de présence pour les ID d’utilisateur génèrent une notification.
Exemple : Charges utiles d’abonnement de présence d’utilisateurs multiples
{
"changeType": "updated",
"notificationUrl": "https://webhook.contoso.com/api",
"lifecycleNotificationUrl": "https://webhook.contoso.com/api",
"resource": "/communications/presences?$filter=id in ('{id}', '{id}',...)",
"expirationDateTime": "2023-09-14T10:00:00.0000000Z",
"includeResourceData": true,
"encryptionCertificate": "{encryption certificate}",
"encryptionCertificateId": "{certificate id}",
"clientState": "{secret client state}"
}
Recevoir des notifications d’événements de présence
Les notifications de modification pour les événements de présence sont déclenchées lorsque des modifications sont apportées à la disponibilité et à l’activité d’un utilisateur.
Exemple : notifications de présence de base
{
"value": [{
"subscriptionId": "{Subscription id}",
"clientState": "{secret client state}",
"changeType": "updated",
"tenantId": "{Organization/Tenant id}",
"resource": "communications/presences/{id}",
"subscriptionExpirationDateTime": "2023-09-14T10:00:00.0000000Z",
"resourceData": {
"@odata.id": "users/{User Id}/presence",
"@odata.type": "#microsoft.graph.presence",
"id": "{User Id}"
},
"organizationId": "{Organization/Tenant id}",
}]
}
Exemple : notifications de présence avec des données de ressources
Les notifications de présence avec des données de ressource ont les propriétés supplémentaires suivantes chiffrées dans la charge utile :
- Informations de disponibilité ou de présence de base (disponibles, absents, occupés)
- Activité ou informations complémentaires à la disponibilité (en réunion, en appel)
[Remarque] : la disponibilité et l’activité peuvent avoir la même valeur.
Pour plus d’informations sur les combinaisons possibles de disponibilité et d’activité, consultez Propriétés de présence.
{
"value": [{
"subscriptionId": "{Subscription id}",
"clientState": "{secret client state}",
"changeType": "updated",
"tenantId": "{Organization/Tenant id}",
"resource": "communications/presences/{id}",
"subscriptionExpirationDateTime": "2023-09-14T10:00:00.0000000Z",
"resourceData": {
"@odata.id": "users/{User Id}/presence",
"@odata.type": "#microsoft.graph.presence",
"id": "{User Id}"
},
"organizationId": "{Organization/Tenant id}",
"encryptedContent": {
"data": "{Encrypted content}",
"dataSignature": "{Encrypted data signature}",
"dataKey": "{Encrypted data key for encrypting content}",
"encryptionCertificateId": "{User specified id of encryption certificate}",
"encryptionCertificateThumbprint": "{Encrpytion certification thumbprint}"
}
}],
"validationTokens": ["{Validation Tokens}"]
}
Exemple : Notifications déchiffrées avec des données de ressource
{
"@odata.id": "users/{User Id}/presence",
"@odata.type": "#microsoft.graph.presence",
"id": "{User Id}",
"availability": "{Availability}",
"activity": "{Activity}"
}
Contenu connexe
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour