2017-12-04 8 views
0

私はAzure ADを照会する必要があるアプリケーションに取り組んでいます。クエリは一部のフィールドで機能していますが、モバイル番号などの一部のフィールドでは機能しません。名前AzureアクティブディレクトリグラフのAPIクエリユーザ

var searchResults = await userCollection.Where(user => 
       (user.UserPrincipalName.StartsWith(searchString) || 
       user.DisplayName.StartsWith(searchString) || 
       user.GivenName.StartsWith(searchString) || 
       user.Surname.StartsWith(searchString) || 
       user.Mail.StartsWith(searchString)) && user.AccountEnabled == true).ExecuteAsync(); 

でフィルタリングするとき

クエリは機能していますが、携帯電話番号などの分野で、それはここで例外

var searchResults = await userCollection 
       .Where(x => x.Mobile == "+63 922 3965 021").ExecuteAsync(); 

を投げる例外で 「プロパティに指定されたサポートされていないか、または無効クエリフィルタ句リソース 'User'の 'mobile'。 "

答えて

2

このようにクエリできるプロパティがいくつかあります。 Linqクエリは、Azure AD Graph APIに対してFilterの式を生成します。しかし、他の人は、携帯電話番号のように、あなたはできません。

フィルタリング可能なプロパティは、ユーザーオブジェクトの場合はin the referenceです。

フィルタすることができるもの(たとえば、Surnameのプロパティ:「GET($ filter)」)。

+0

私は知っている質問 –

+0

なぜそれが傾けることが理解できません。私はそれも望んでいた。 https://feedback.azure.com/forums/169401-azure-active-directory/category/165567-graph-apiでUserVoiceリクエストを追加できます。 BTW。新しいMicrosoft Graph APIでは、mobilePhoneでのフィルタリングもサポートされていません(参照はhttps://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/user#properties)。 。 – RasmusW