Вы вызываете Microsoft Graph, используя шаблон URI из API Azure Graph.Это разные API, которые имеют разные шаблоны вызовов.
Правильный URI должен быть:
https://graph.microsoft.com/v1.0/users?$filter=startsWith(userPrincipalName, 'string')
По умолчанию /users
возвращает только ограниченный набор свойств.Из документации :
По умолчанию возвращается только ограниченный набор свойств ( businessPhones, displayName, GivenName, id, jobTitle, mail, mobilePhone, officeLocation,предпочитаемый язык, фамилия, userPrincipalName ).
Чтобы вернуть альтернативный набор свойств, вы должны указать желаемый набор пользовательских свойств, используя параметр запроса OData $select
.Например, чтобы вернуть displayName , данное имя и postalCode , вы должны добавить в свой запрос следующее $select=displayName,givenName,postalCode
Примечание.: Некоторые свойства не могут быть возвращены в пользовательской коллекции.Следующие свойства поддерживаются только при извлечении одного пользователя: aboutMe, день рождения, hireDate, интересы, mySite, pastProjects, предпочитаемое имя, обязанности, школы, навыки, mailboxSettings
В другихИными словами, если вам нужно что-то отличное от свойств по умолчанию, вам нужно точно запросить набор свойств, который вы хотите.
Исходя из вышесказанного, ваш пример кода должен выглядеть примерно так:
const string graphApiEndpoint = "https://graph.microsoft.com";
const string graphApiVersion = "v1.0";
const string userProperties = "id,userPrincipalName,displayName,jobTitle,mail,employeeId"
string graphRequest = string.Format(CultureInfo.InvariantCulture,
"{0}/{1}/users?$select={2}&$filter=startswith(userPrincipalName, '{3}')",
graphApiEndpoint,
graphApiVersion,
userProperties,
"SearchText.Text");