使用GraphAPI通过电子邮件找不到用户

时间:2019-04-15 21:21:21

标签: 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似乎为空:

"signInNames":[]

是否有可能导致这种情况?您应该记住,这种特定的访问按预期进行。

谢谢!

1 个答案:

答案 0 :(得分: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属性为空,"signInNames":[]将返回"value":[]

enter image description here

  

您应该记住,此特定访问已按预期进行。

当然,如果signInNames不为空,它将正常工作。

enter image description here