Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 使用Office 365 REST API搜索电子邮件发件人地址_Search_Odata_Office365 - Fatal编程技术网

Search 使用Office 365 REST API搜索电子邮件发件人地址

Search 使用Office 365 REST API搜索电子邮件发件人地址,search,odata,office365,Search,Odata,Office365,我正在尝试从Office 365返回发件人的电子邮件与我的查询字符串匹配的电子邮件。我尝试使用包含的$filter,但出现了一个错误,说明我必须使用$search。以下内容可以正常工作,但不会限制我的搜索范围,即搜索到/Sender/EmailAddress/Name。有什么想法吗 https://outlook.office365.com/api/v1.0/Me/Messages?$select=Subject,Sender,From&$search="Joe Bloggs" 根据,

我正在尝试从Office 365返回发件人的电子邮件与我的查询字符串匹配的电子邮件。我尝试使用包含的$filter,但出现了一个错误,说明我必须使用$search。以下内容可以正常工作,但不会限制我的搜索范围,即搜索到/Sender/EmailAddress/Name。有什么想法吗

https://outlook.office365.com/api/v1.0/Me/Messages?$select=Subject,Sender,From&$search="Joe Bloggs"
根据,Office 365 REST API有自己的
$search
选项。由此看来,您可以使用
From:
限定符来限制搜索

GET https://outlook.office.com/api/v2.0/me/messages?$search="from:Joe Bloggs"

请注意,应该对URI进行编码(即,双引号和空格需要进行百分比编码)。此外,示例使用的是API的v2.0。我不确定这是否适用于v1.0。

如果您使用不受支持的筛选方法,您将收到一条错误消息,就像您收到的错误一样

此外,当使用$search查询参数而不指定属性时,结果将搜索正文、发件人和主题属性。在您的请求中,这将返回收件箱中包含三个默认属性中的任何一个关键字的所有邮件

$search系统查询选项限制结果仅包括与指定搜索表达式匹配的实体。您可以使用$search查询参数单击以查找公共字段,如果您需要获取收件箱中由特定人员发送的所有邮件,您可以尝试以下查询:

https://outlook.office.com/api/v2.0/me/messages?$search="from:help@contoso.com"

上述请求也适用于v1.0,但消息的返回属性不同(与v2.0相比)。

请发布错误文本。尝试$filter with contains时的错误为:{error:{code:{ErrorInvalidUrlQueryFilter],消息:“'contains'和'startswith'不支持筛选。请改用搜索。”}