Report on externally shared files via the Graph API

An updated version of my “proof of concept” script to report on any and all externally shared files within the organization. This new version covers SharePoint Online sites as well and can also process individual sites via the -Sites parameter. The output has been reworked and now uses the ImportExcel module to generate a “pretty” Excel file with conditional formatting and clickable links. In addition, I’ve toyed with another version of the script that enumerates lists and list items, as opposed to the “classic” one that enumerates drives and processes them much like a traditional folder structure. Both versions should give you the same set of results, but can differ in performance and throttling aspect… …

Continue readingReport on externally shared files via the Graph API

Granular permissions for working with files, list items and lists added to the Graph API!

Microsoft has extended their permissions model for working with files, list items and lists within the Graph API. The newly introduced Files.SelectedOperations.Selected, ListItems.SelectedOperations.Selected and Lists.SelectedOperations.Selected scopes are available in both delegate and application permission flavors and allow you to granularly control application access! At the same time, they use the same model the Sites.Selected permissions used, so you can easily adopt them. …

Continue readingGranular permissions for working with files, list items and lists added to the Graph API!

How to properly filter for specific enabled services via the Graph API/SDK

The limited (and convoluted) filter capabilities of the Graph API have lead to scenarios where people are using incorrect queries to filter out the set of users enabled for specific Microsoft 365 service(s). In this article, we will go over some of the common mistakes I’ve seen in online examples, and provide you with a “proper” solution, to the best of the current Graph API filtering capabilities. …

Continue readingHow to properly filter for specific enabled services via the Graph API/SDK