es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Graph api obtener miembros del canal no puede obtener el identificador de usuario.

La respuesta de obtener los miembros de los canales tiene “userid”, cuando lo depuramos podemos encontrarlo en la respuesta.

Pero cuando intentamos:

var response = await graphClient.Teams[teamid].Channels[channeId].Members
.Request()
.GetAsync();
foreach (var res in response)
{
var member = new Members();
member.UserId = res.Id; //este id no es el id del usuario
member.FullName = res.DisplayName;
members.Add(member);
}

La respuesta tiene “userId”, no podemos obtener el userID, ¿cómo podemos obtener el userID?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Basándonos en el código proporcionado, parece que el valor de res.Id no es el ID de usuario esperado. Para obtener el ID de usuario, puede ser necesario explorar más la respuesta o probar un enfoque diferente.

    Una posible solución es realizar una llamada de API separada para obtener los detalles del usuario según el res.Id. Puede utilizar el endpoint /users de Microsoft Graph API para este propósito, de la siguiente manera:

    var user = await graphClient.Users[res.Id]
                        .Request()
                        .GetAsync();
    var member = new Members();
    member.UserId = user.Id;
    member.FullName = user.DisplayName;
    members.Add(member);
    

    Esto debería proporcionarte el ID de usuario correcto en la propiedad member.UserId, obtenido a través de la llamada de API separada y el valor de user.Id.

Comments are closed.