channel: doesUserHaveAccess

Espacio de nombres: microsoft.graph

Determine si un usuario tiene acceso a un canal compartido.

Esta API está disponible en las siguientes implementaciones nacionales de nube.

Servicio global Gobierno de EE. UU. L4 Us Government L5 (DOD) China operada por 21Vianet

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores 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) ChannelMember.Read.All ChannelMember.ReadWrite.All
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación ChannelMember.Read.All ChannelMember.ReadWrite.All

Solicitud HTTP

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

Parámetros de función

En la dirección URL de la solicitud, proporcione los siguientes parámetros de consulta con valores. La siguiente tabla muestra los parámetros que se pueden usar con esta función.

Parámetro Tipo Descripción
tenantId Cadena Identificador del inquilino Microsoft Entra al que pertenece el usuario. El valor predeterminado de esta propiedad es el valor tenantId actual del usuario o la aplicación que ha iniciado sesión.
userId Cadena Identificador único para el usuario. Especifique el userId o la propiedad userPrincipalName en la solicitud.
userPrincipalName Cadena Nombre principal de usuario (UPN) del usuario. Especifique el userId o la propiedad userPrincipalName en la solicitud.

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización.

Cuerpo de la solicitud

No proporcione un cuerpo de solicitud para esta función.

Respuesta

Si se ejecuta correctamente, esta función devuelve un código de respuesta 200 OK y un objeto Boolean en el cuerpo de la respuesta.

Ejemplos

Ejemplo 1: Comprobación del acceso de un usuario interno

En el ejemplo siguiente se muestra una solicitud que comprueba si un usuario interno tiene acceso a un canal compartido.

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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

Respuesta

En el ejemplo siguiente se muestra la respuesta.

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

{
  "value": true
}

Ejemplo 2: Comprobación del acceso de un usuario externo

En el ejemplo siguiente se muestra una solicitud que usa la propiedad tenantId para comprobar si un usuario externo tiene acceso a un canal compartido.

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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

Respuesta

En el ejemplo siguiente se muestra la respuesta.

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

{
  "value": true
}

Ejemplo 3: Comprobación del acceso de usuario para un usuario mediante el nombre principal de usuario

En el ejemplo siguiente se muestra una solicitud que usa la propiedad userPrincipalName para comprobar si un usuario interno tiene acceso a un canal compartido.

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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

Respuesta

En el ejemplo siguiente se muestra la respuesta.

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

{
  "value": false
}