2015-06-04 83 views
0

我在使用新的Office 365 Unified API搜索电子邮件时遇到问题。如果我能得到一些帮助,我会很感激。使用Office 365 Unified API搜索

我得到以下错误:

{ “错误”:{ “代码”: “ErrorInvalidArgument”, “消息”: “对于搜索范围 'PrimaryMailbox' 为指定的值无效”}}

我能够获取graph.microsoft.com的访问令牌,并通过执行GET获取“https://graph.microsoft.com/beta/me/messages”,从我的收件箱中检索所有消息。

但是,当我添加搜索参数$ search =“Tomcat”时,我得到上面复制的错误。任何想法如何解决这个问题?有没有任何文件来澄清这一点?我详细搜索了Office开发人员中心文档,但无法找到任何帮助在统一API中搜索的内容。最终,我想使用统一API来在线搜索用户的联系人,日历条目,OneDrive文件和SharePoint。

在相关说明中,我可以通过对“https://outlook.office365.com/api/v1.0/me/messages”进行GET调用,使用现有的Office 365 API成功搜索邮件。不过,我更关注简化的统一API方法,希望我能解决上述问题。

此外,有没有一种方法可以使用现有API(https://outlook.office365.com)或新的Unified API(https://graph.microsoft.com/)在单个搜索中搜索所有邮箱?

谢谢。

穆罕默德

加利福尼亚州圣何塞,

回答

1

Unified API preview documentation列出了所有支持的查询参数,并$search不包括在内。它支持$filter,所以你可以使用它做一些基本的搜索。

Mail API确实支持$search,但无法在一个查询中搜索多个邮箱。

+0

Hello Jason,在关于Unified API和使用OneDrive for Business的OneDrive API的相关说明中,发行说明(https:// dev.onedrive.com/odb-preview/release-notes.htm),i t表示尚未实施OneDrive for Business的OneDrive API功能之一就是view.search操作。当这个功能(即使在预览模式下)可用时,你有什么想法吗? – Mohammad

0

可以使用以下条件在Outlook

  1. 在搜索特定文件夹进行搜索(例如:草稿,收件箱) - /me/MailFolders/Inbox/messages?$search={1}:其中1将搜索文本
  2. 如果你想在所有文件夹中搜索,然后搜索/me/MailFolders/Allitems/messages?$search={1}:其中{1}是要搜索的文本