channel : doesUserHaveAccess

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

Déterminez si un utilisateur a accès à un canal.

Cette API est disponible dans les déploiements cloud nationaux suivants.

Service global Gouvernement américain L4 Gouvernement américain L5 (DOD) Chine exploitée par 21Vianet
✅ ✅ ✅ ✅

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme étant les moins privilégiées pour cette API. Utilisez une ou plusieurs autorisations privilégiées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, voir Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez la référence des autorisations.

Type d’autorisation Autorisations les moins privilégiées Autorisations à privilèges plus élevés
Déléguée (compte professionnel ou scolaire) ChannelMember.Read.All ChannelMember.ReadWrite.All
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application ChannelMember.Read.All ChannelMember.ReadWrite.All

Requête HTTP

GET /teams/{team-id}/channels/{channel-id}/doesUserHaveAccess(userId='@userId',tenantId='@tenantId',userPrincipalName='@userPrincipalName')

Paramètres de fonction

Dans l’URL de la demande, indiquez les paramètres de requête suivants avec leurs valeurs. Le tableau suivant indique les paramètres qui peuvent être utilisés avec cette fonction.

Paramètre Type Description
tenantId String ID du client Microsoft Entra auquel appartient l’utilisateur. La valeur par défaut de cette propriété est le tenantId actuel de l’utilisateur ou de l’application connecté(e).
userId String Identifiant unique pour l’utilisateur. Spécifiez la propriété userId ou userPrincipalName dans la demande.
userPrincipalName String Nom d’utilisateur principal (UPN) de l’utilisateur. Spécifiez la propriété userId ou userPrincipalName dans la demande.

En-têtes de demande

Nom Description
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et les autorisations.

Corps de la demande

Ne fournissez pas de corps de requête pour cette fonction.

Réponse

Si elle réussit, cette fonction renvoie un code de réponse 200 OK et une valeur de type booléen dans le corps de la réponse.

Exemples

Exemple 1 : vérifier l’accès d’un utilisateur interne

L’exemple suivant montre une demande qui vérifie si un utilisateur interne a accès à un canal.

Demande

L’exemple suivant illustre une demande.

GET https://graph.microsoft.com/beta/teams/0fddfdc5-f319-491f-a514-be1bc1bf9ddc/channels/19:33b76eea88574bd1969dca37e2b7a819@thread.skype/doesUserHaveAccess(userId='6285581f-484b-4845-9e01-60667f8b12ae')

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": true
}

Exemple 2 : vérifier l’accès d’un utilisateur externe

L’exemple suivant montre une requête qui utilise la propriété tenantId pour case activée si un utilisateur externe a accès à un canal partagé.

Demande

L’exemple suivant illustre une demande.

GET https://graph.microsoft.com/beta/teams/0fddfdc5-f319-491f-a514-be1bc1bf9ddc/channels/19:33b76eea88574bd1969dca37e2b7a819@thread.skype/doesUserHaveAccess(userId='62855810-484b-4823-9e01-60667f8b12ae', tenantId='57fb72d0-d811-46f4-8947-305e6072eaa5')

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": true
}

Exemple 3 : vérifier l’accès utilisateur d’un utilisateur à l’aide du nom d’utilisateur principal

L’exemple suivant illustre une requête qui utilise la propriété userPrincipalName pour case activée si un utilisateur interne a accès à un canal.

Demande

L’exemple suivant illustre une demande.

GET https://graph.microsoft.com/beta/teams/0fddfdc5-f319-491f-a514-be1bc1bf9ddc/channels/19:33b76eea88574bd1969dca37e2b7a819@thread.skype/doesUserHaveAccess(userPrincipalName='john.doe@contoso.com')

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "value": false
}