我们正在构建一个使用图形API集成Office 365的应用程序。我们需要将所有Office 365联系人拉入我们的系统,并且需要保持同步。 办公室中有delta API只能提取增量更改。我们发现了一个问题,例如我们无法提取扩展属性(其中包括Outlook MPAI字段,例如手机,助理电话等)
GET https://graph.microsoft.com/v1.0/me/contacts/delta
因此,Office 365希望客户端进行额外的API调用以获得每个联系人的扩展属性? 意味着如果用户有1000个联系人,客户端必须进行1000个以上的API调用才能从office365中提取联系人?
还有另一个联系人搜索API,该API在单个调用中支持扩展属性。我们可以用它拉出增量变化吗?
GET https://graph.microsoft.com/v1.0/me/contacts?$filter=lastModifiedDateTime gt '2018-07-28T05:25:32Z'
请为我们提供咨询,我们将如何有效地吸引Office365联系人
谢谢!
答案 0 :(得分:2)
据我所见(并通过日历事件观察自己),大多数增量查询调用均不支持扩展。有关可选查询参数下的增量查询,请参见doc:
$expand
仅为用户和组的manager
和members
导航属性提供支持。
增量查询也不支持您的过滤器请求。如果您使用:
GET https://graph.microsoft.com/v1.0/me/contacts/delta?$filter=lastModifiedDateTime gt 2018-07-28T05:25:32Z
您收到以下错误:
"error":
{
"code": "ErrorInvalidUrlQuery",
"message": "The following parameters are not supported with change tracking over the 'Contacts' resource: '$orderby, $filter, $select, $expand, $search, $top'.",
"innerError":
{
"request-id": "da1174b3-d...",
"date": "2018-08-06T12:45:34"
}
}
实际上支持足够多的选择(contact delta doc)。 似乎您唯一的选择是扩大用户的正常联系请求。 如果有很多更改,您可以尝试batching扩展的联系请求。