Не удается найти пользователя по электронной почте с помощью GraphAPI

#azure-ad-graph-api

#azure-ad-graph-api

Вопрос:

Я использую GraphAPI, получая пользователей по электронной почте в течение нескольких месяцев. Что-то случилось с конкретным пользователем. Прямо сейчас я не могу получить этого пользователя, используя следующий подход:

signInNames/any(x:x/value eq '{email}'

Это работает со всеми пользователями, кроме того, о котором я говорил ранее.

Я получаю это при попытке получить по электронной почте:

 { 
  "odata.metadata": "https://graph.windows.net/jsmaddev.onmicrosoft.com/$metadata#directoryObjects", 
  "value":[]
}

 

Если я попытаюсь получить доступ к ObjectId, я смогу получить доступ к информации пользователя, но имена входа кажутся пустыми:

 "signInNames":[]
 

Есть ли что-то, что может вызвать это? Вы должны помнить, что этот конкретный доступ работал так, как предполагалось.

Спасибо!

Ответ №1:

Это нормально. Фильтр signInNames/any(x:x/value eq '{email}' возвращает пользователей, которым signInNames.value соответствует электронная почта.

Пример signInNames части:

  "signInNames": [
    {
      "type": "userName",
      "value": "AlexW"
    },
    {
      "type": "emailAddress",
      "value": "AlexW@example.com"
    }
  ]
 

Если я попытаюсь получить доступ к ObjectId, я смогу получить доступ к информации пользователя, но имена входа кажутся пустыми

Поскольку signInNames свойство пустое, "signInNames":[] , оно вернет "value":[] .

введите описание изображения здесь

Вы должны помнить, что этот конкретный доступ работал так, как предполагалось.

Конечно, если параметр signInNames не пуст, он будет работать нормально.

введите описание изображения здесь

Комментарии:

1. Верно, но, как я уже сказал, этот пользователь работал по назначению и внезапно остановился. Есть ли что-нибудь, что может вызвать это? Спасибо!

2. @AustinFelipe Не уверен, может быть, кто-то в вашем клиенте обновляет свойство пользователя. Вы можете перейти к Azure Active Directory в разделе портал -> Пользователи -> Журналы аудита, проверить журналы, указать цель с идентификатором объекта пользователя, см. : i.stack.imgur.com/nwIl0.png , для получения более подробной информации о журналах аудита перейдите по этой ссылке . Короче говоря, комментарий выше — это только мое предположение. По этому вопросу, на самом деле, вы не должны спрашивать меня, вы должны спросить участников в вашем клиенте.