azure active directory – Graph API to get all the rooms

If you need only emailAddress of a room and object id you can reduce the amount of data in the response by using Select.

var roomUrl = graphClient.Places.AppendSegmentToRequestUrl("");
var response= await new GraphServicePlacesCollectionRequest(roomUrl, graphClient, null).Select("emailAddress").GetAsync();
foreach (var room in response.CurrentPage)
        var emailAddress = (string)room.AdditionalData["emailAddress"];
        var objectId = await graphClient.Users[emailAddress].Request().Select("id").GetAsync();                

I don’t have 25k rooms in my tenant, so you need to measure how much faster is the code with Select.

Read more here: Source link