如何使用Microsoft Graph API从特定电子邮件地址中选择所有电子邮件

时间:2018-10-02 20:44:20

标签: python microsoft-graph microsoft-graph-sdks

我遵循了此站点提供的示例: https://docs.microsoft.com/en-us/outlook/rest/python-tutorial

我正在尝试获取来自特定电子邮件地址的所有邮件。

在该示例之后,我想我需要编辑query_parameters代码。我这样做是这样的:

query_parameters = {'$top': '30',
                      '$select': 'receivedDateTime,subject,from',
                      '$search': '"=from:someperson@mail.com"',
                      '$orderby': 'receivedDateTime DESC'}

它给我一个错误,因为它没有在通话中返回任何内容。

有人成功地将示例更改为仅从特定电子邮件地址返回结果吗?

2 个答案:

答案 0 :(得分:0)

我在https://github.com/jasonjoh/python_tutorial.git的项目中已经成功使用了以下查询参数集

index.html

搜索似乎不支持orderBy查询参数-尝试添加时会输出:

  query_parameters = {'$top': '25',
                      '$select': 'receivedDateTime,subject,from',
                      '$search': '"from:some.user@mycompany.ccTLD"',
                      }

答案 1 :(得分:0)

您需要将=删除到$search短语中。 SDK会自动添加=字符。在编写时,您的查询参数最终以$search="=from:someperson@mail.com"而不是预期的$search="from:someperson@mail.com"结尾。

query_parameters = {'$top': '30',
                    '$select': 'receivedDateTime,subject,from',
                    '$search': '"from:somepersotn@mail.com"'}

此外,使用$search时不能指定排序顺序。来自documentation

  

搜索结果按邮件发送的日期和时间排序。