如何使用c#在Google api中基于时间检索电子邮件?我们可以通过日期时间查询字符串来获取最新的电子邮件吗?在处理这个问题时,我只能找到日期。有没有办法根据时间获取最新的邮件?
是的,您可以通过传入查询参数和Gmail API的Get-Message-List调用来实现这一点,如下所示:
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 之前
之后,通过调用带有消息ID的Get获取单个消息的详细信息。
希望这能有所帮助。
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