Search code examples
odataoffice365

How to filter users with certain skills using the Office365 Unified API?


I know how to get users by jobtitle, the Unified API promises us to find users by skills.

Skills , according to https://graph.microsoft.com/beta/$metadata, is of type Collection.

When I filter on jobtitle, like this

https://graph.microsoft.com/beta/<tenant>.onmicrosoft.com/users?$filter=jobTitle+eq+%27Tester%27

it works , J...

My question is what is how to contruct the filter ? I have tried using

contains 

as in

$filter=contains(Skills,'Tester')

But this gives me, the following error

The argument for an invocation of a function with name 'contains' is not a single value. All arguments for this function must be single values.

Solution

  • AFAIK $search and contains are not supported for these user properties. Some of the API surface does support full-text search (using $search), like the messages entity and some properties of the user entity. However these "extended" properties (that are actually coming from SharePoint) do not yet support full text search.

    This is an area that we want to continue to improve and provide a consistent search experience across all the entities.

    Hope this helps,