在Office 365图增量API中获取扩展属性

时间:2018-08-06 07:34:34

标签: odata office365 microsoft-graph office365api

我们正在构建一个使用图形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联系人

谢谢!

1 个答案:

答案 0 :(得分:2)

据我所见(并通过日历事件观察自己),大多数增量查询调用均不支持扩展。有关可选查询参数下的增量查询,请参见doc

  

$expand仅为用户和组的managermembers导航属性提供支持。

增量查询也不支持您的过滤器请求。如果您使用:

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扩展的联系请求。