microsoft-graph-api - Microsoft Graph API - 无法以 endwith 过滤
问题描述
要过滤 Microsoft Graph API 响应,文档建议使用filter
查询选项。
在这里,我在端点上使用了startswith
和endswith
字符串函数。'/me/messages'
query = {
'$filter': "
startswith(from/emailAddress/address, 'abcd')
or endswith(from/emailAddress/address, 'gmail.com')"
}
仅使用startswith
返回预期的响应。在将endswith
函数添加到过滤器查询时,收到的响应是错误的。
{
"error": {
"code": "ErrorInvalidUrlQueryFilter",
"message": "The query filter contains one or more invalid nodes.",
"innerError": {
"request-id": "0d12e1f6-6105-4826-9656-8613f8c167ed",
"date": "2019-03-14T11:05:56"
}
}
}
解决方案
要将 $filter 与 endsWith 一起使用,您需要:
- 将 $count=true 添加到查询参数中
- 添加 ConsistencyLevel:最终请求标头
示例:'https://graph.microsoft.com/v1.0/users?$count=true&ConsistencyLevel=eventual&$filter=endswith(mail,'@hotmail.com')'
**它适用于 mail 和 userPrincipalName 但不适用于 displayName
推荐阅读
- excel - vba:将每个文件中的一列插入文件夹和子文件夹
- python - Coding theory - Algorithm
- c - Why is there a number 22 in GCC's implementation of a VLA (variable-length array)?
- sql - How do I do a look up from a user table where the user can be in two columns of the record?
- react-native - Janus / React Native:远程视频是空白的
- python - 如何在 python 中将点云(.ply)写入图像(.jpg)?
- reactjs - 如何使用 React context-API 在任何组件之间传递数据,而 Provider 不位于层次结构之上
- nginx - Nginx Proxy Pass 不通过端口
- swift - 编辑文本文件并将其添加到项目的问题
- html - 离开悬停后反转 CSS 动画不起作用