SharePoint 2013搜索服务以索引Office 365共享邮箱

时间:2016-07-11 10:53:51

标签: sharepoint-2013 office365

我有一个项目需要SharePoint 2013搜索服务(内部部署)来索引一个Office 365共享邮箱。 根据我的研究,以下是可能:

  • Exchange内容源:它适用于旧的内部部署交换
  • 电子发现:这是不同的功能。它具有Exchange配置 但不能在搜索方案中使用。
  • Business Connectivity Services:我尝试创建外部内容 Visual Studio中的源代码提供OData URL但未成功
  • 混合联合搜索在SharePoint Server 2013方案中工作 SharePoint Online,而不是我的场景
  • 我的客户无法访问第三方解决方案。

This post接近我的情况,但它已经过时了,并没有导致解决方案。

我在O365中也探讨了新的“团体”,但这不适用。我的客户端需要单一位置来搜索SharePoint数据和此共享邮箱。

我认为唯一可行的方法是使用Outlook Rest API对此邮箱进行实时搜索。我测试了它,我能够在SharePoint托管应用程序中检索数据。最大的问题是我没有改进和总物品数量。

有人能指出我更好的解决方案吗?我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

我建议您使用Microsoft Graph REST而不是Office 365 REST API。

它通过单​​个REST API端点(https://graph.microsoft.com)公开来自Microsoft云服务的多个API。使用Microsoft Graph,您可以将以前困难或复杂的查询转换为简单的导航。

Microsoft Graph为您提供:

  • 用于访问多个聚合数据的统一API端点 单一响应中的Microsoft云服务
  • 实体之间的无缝导航及其间的关系
  • 获取来自Microsoft云的情报和见解

您可以使用 $ count 查询参数来返回集合中的项目数。下面是一个返回结果数量的示例:

GET: https://graph.microsoft.com/v1.0/me/messages?$filter=contains(subject,'a')&$count=true

你可以得到如下物品数量的共鸣:

@odata.context=https://graph.microsoft.com/v1.0/$metadata#users('')/messages
@odata.count=341
@odata.nextLink=https://graph.microsoft.com/v1.0/me/messages?$filter=contains(subject,'a')&$count=true&$skip=10
value{}