azure-ad-graph-api - 无法使用 GraphAPI 通过电子邮件找到用户
问题描述
几个月来,我一直在使用 GraphAPI 通过电子邮件获取用户。特定用户发生了一些事情。现在我无法使用以下方法获得该用户:
signInNames/any(x:x/value eq '{email}'
这适用于除我之前所说的用户之外的所有用户。
我在尝试通过电子邮件检索时收到此消息:
{
"odata.metadata": "https://graph.windows.net/jsmaddev.onmicrosoft.com/$metadata#directoryObjects",
"value":[]
}
如果我尝试通过 ObjectId 获取,我可以访问用户的信息,但 signInNames 似乎为空:
"signInNames":[]
有什么可能导致这种情况吗?您应该记住,此特定访问按预期工作。
谢谢!
解决方案
这个是正常的。过滤器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":[]
。
您应该记住,此特定访问按预期工作。
当然,如果signInNames
不为空,它会正常工作。
推荐阅读
- sql - 使用 oracle 中的变量作为插入命令 oracle 的表名
- c# - 从字节数组创建位图
- python - Python Pandas Dataframe 用列表中的值替换 NaN
- javascript - Modal 内的滑动条
- keras - Keras键盘中断停止训练?
- react-native - 将本机设置状态从抽屉导航器反应到其他组件
- node.js - Npm install angular/cli 错误 EPERM 操作不允许
- sql - 如何在 SQL Server 中根据客户分区记录的列值和 COUNT() 添加标志列
- checkbox - 禁用包含复选框的 mvc kendo 网格上的单击事件
- java - 在 Java 中键入时的 Eclipse 光子延迟