channel: doesUserHaveAccess

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.

Determine si un usuario tiene acceso a un canal.

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) 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 Id. del inquilino de Microsoft Entra al que pertenece el usuario. El valor predeterminado de esta propiedad es el tenantId actual del usuario o la aplicación que ha iniciado sesión.
userId Cadena Identificador único del usuario. Especifique la propiedad userId o userPrincipalName en la solicitud.
userPrincipalName Cadena El nombre principal de usuario (UPN) del usuario. Especifique la propiedad userId o userPrincipalName en la solicitud.

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre autenticación y 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: Comprobar el acceso de un usuario interno

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

Solicitud

En el ejemplo siguiente se muestra la solicitud.

GET https://graph.microsoft.com/beta/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: Comprobar el 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/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')

Respuesta

En el ejemplo siguiente se muestra la respuesta.

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

{
  "value": true
}

Ejemplo 3: Comprobar el acceso de usuario de un usuario mediante el nombre principal de usuario

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

Solicitud

En el ejemplo siguiente se muestra la solicitud.

GET https://graph.microsoft.com/beta/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
}