如何使用Microsoft Graph API获取未分配分类的电子邮件
解决方法
筛选所有未分配分类的邮件
你之前尝试的写法逻辑不符合需求:
categories/any(c:c ne 'Yellow category')表示「只要邮件存在至少一个不等于「黄分类」的分类就命中」,会返回所有带非黄分类的邮件,无法匹配无分类的情况- 无参数的
categories/any()表示「邮件存在至少一个分类」,和你要的无分类需求完全相反
正确的OData筛选规则是对「存在分类」的逻辑取反,请求写法如下:
https://graph.microsoft.com/v1.0/me/mailFolders/Inbox/messages?$filter=not categories/any()
如果你是访问共享邮箱,把路径中的/me/替换为/users/{共享邮箱的完整邮件地址}/即可生效。
统计未分类邮件的数量
如果仅需要计数不需要返回邮件详情,可以使用$count端点,同时需要在请求头中添加ConsistencyLevel: eventual参数,示例如下:
GET https://graph.microsoft.com/v1.0/me/mailFolders/Inbox/messages/$count?$filter=not categories/any() # 需要附带的请求头 ConsistencyLevel: eventual
共享邮箱的计数请求同样只要替换路径中的/me/部分即可。
内容的提问来源于stack exchange,提问作者Ravindra Shukla
相关产品推荐
相关产品推荐

