Фильтрация пользователей по "officeLocation" в Graph API
Я работаю с Microsoft Graph API, и я пытаюсь добиться того, чтобы импортировать всех людей в моем офисе из Azure AD в мои личные контакты.
Используя Graph Explorer, я могу найти себя в /users/
с помощью $filter
- так что с помощью https://graph.microsoft.com/v1.0/users?$filter=mail eq '<MyEmailAddress>'
, Смотрите результаты ниже:
Так что этот пользователь (я) имеет свойство officeLocation
это то, что я хотел бы отфильтровать, чтобы собрать всех моих коллег в одном офисе. Поэтому я попытался:https://graph.microsoft.com/v1.0/users?$filter=officeLocation eq '<MyOfficeLocation>'
Однако - я получаю Request_UnsupportedQuery
ошибка:
{
"error": {
"code": "Request_UnsupportedQuery",
"message": "Unsupported or invalid query filter clause specified for property 'officeLocation' of resource 'User'.",
"innerError": {
"request-id": "407d5376-eeb4-46a5-8c93-c20e5b6b322e",
"date": "2017-07-13T15:26:49"
}
}
}
Означает ли это, что мне не разрешено фильтровать это свойство? Это было бы довольно неудачно. Если так - какие обходные пути я могу применить?
2 ответа
Это работает с $count, даже включая предложения $ expand и $ select:
GET https://graph.microsoft.com/v1.0/users?$top=999&$count=true&$filter=startswith(officeLocation,'EU_')&$select=id,displayName&$expand=manager($select=id,mail,displayName;$levels=1)
ConsistencyLevel: eventual
Здесь я запрашиваю идентификатор пользователя, displayName и некоторые сведения об их менеджере 1-го уровня (id, mail, displayName), где officeLocation пользователя начинается с 'EU_'
И вы должны отправить ConsistencyLevel: eventual в заголовке запроса, чтобы он работал.
К сожалению, это в настоящее время так. Вы могли бы фильтровать по городу и / или государству, может быть, вместо этого? Если это то, что вам нужно, пожалуйста, создайте запрос голосовой функции пользователя здесь (и обязательно включите ваш сценарий): https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback/category/101632-microsoft-graph-o365-rest-apis
Надеюсь это поможет,