如何使用c#在Google API中根据时间检索电子邮件? 我们可以将日期时间传递给查询字符串以获取最新电子邮件吗? 在解决这个问题时,我只能找到日期。 有没有办法根据时间获取最新邮件?
答案 0 :(得分:4)
是的,您可以通过传递查询参数以及Gmail API的获取邮件列表调用来实现此目的,如下所示:
List<Message> result = new List<Message>();
UsersResource.MessagesResource.ListRequest request = service.Users.Messages.List(userId);
request.Q = query;//This is where you put in your data query
do
{
try
{
ListMessagesResponse response = request.Execute();
result.AddRange(response.Messages);
request.PageToken = response.NextPageToken;
}
catch (Exception e)
{
Console.WriteLine("An error occurred: " + e.Message);
}
} while (!String.IsNullOrEmpty(request.PageToken));
查询参数与您在邮箱搜索框中传递的参数相同。例如之后:2015/6/28之前:2015/7/1
然后,通过调用Get with message ID获取单个邮件详细信息。
希望这有帮助。
答案 1 :(得分:3)
Furhan的答案很棒。我想补充一点,如果你想比2015/6/28更具体地搜索邮件,你可以提供例如after:<TIME_IN_SECONDS_SINCE_EPOCH>
让我们说你想要邮件:2015/6/28 12:55:00之前:2015/7/1 02:30:00,你会写:
after:1435496100 before:1435710600