【发布时间】:2019-04-10 00:23:05
【问题描述】:
Outlook 用户界面
您可以看到我在 UI 中创建了three test contacts,可在此处访问:https://outlook.live.com/people/
Microsoft Graph 列表联系人 API
当我调用List Contacts API (https://graph.microsoft.com/beta/me/contacts?$orderby=createdDateTime desc&$top=50) 时,我得到的联系人列表比 UI 中可见的列表要广泛得多。这些联系人似乎是给我发过电子邮件的任何人或我发过电子邮件的任何人。
问题
如果我想在每次建立新联系人时对 GET /me/contacts 端点进行轮询以获取一些数据,我最终会在每次新人向我发送电子邮件或每次我向其他人发送新电子邮件时收到通知(即使我没有手动创建联系人)。
这是故意的吗?如果是这样,我可以添加任何过滤器来指定我不想获取不是由我手动创建的联系人吗?查看JSON representation of a contact,我没有看到任何可以过滤的内容。
可能的解决方案
我唯一的想法是我注意到为我创建的联系人存在于contactFolders API 端点中未返回的文件夹中。从理论上讲,我可以调用该端点并获取返回的联系人列表并检查parentFolderId 是否存在。如果是这样,大概是因为我们创建了一个联系人,如果不是,那么它是为我们制作的。不过,这感觉非常糟糕。
感谢您的帮助!
【问题讨论】:
标签: outlook microsoft-graph-api