Hi @Billy
Please try the code below. Judging by obtaining the information of the site
GraphServiceClient graphClient = GetGraphClient();
var sites = await graphClient.Sites.Request().Expand("permissions").GetAsync();
var filteredSites = sites.Where(site => site.Permissions.Any(permission => permission.Roles.Any(role => role.Id == "Sites.Read.All")));
foreach (var site in filteredSites)
{
Console.WriteLine($"Site: {site.Id} - {site.DisplayName}");
}
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.
Best Regards
Cheng Feng