2015-06-29 19 views
1

如何使用c#在Google API中基于时间检索电子邮件? 我们可以通过日期时间查询字符串以获取最新电子邮件吗? 虽然解决这个问题,但我只能找到约会日期。 有没有办法根据时间获取最新邮件?如何使用c#在Google API中基于时间检索电子邮件?

+0

其实我想要的基于时间的邮件,而不是日期。查询参数如下:2015/6/28 12:55:00 PM之前:2015/7/1 02:30:00上午。 Thanx提前我想根据特定的时间间隔阅读电子邮件。 – user1021583

回答

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)); 

查询参数是一样的,你在你的邮箱搜索框中通过。例如after:2015/6/28 before:2015/7/1

之后,通过调用带消息ID的Get获取单个消息详细信息。

希望这会有所帮助。

+0

其实我想要的是基于时间的邮件,而不是日期。查询参数如下:2015/6/28 12:55:00 PM之前:2015/7/1 02:30:00上午。提前Thanx。 – user1021583

+0

是的,没错。实质上,您可以像在Gmail搜索框中一样传入相同的查询参数。 –

3

Furhan的答案很好。我只想补充一点,如果你想搜索比2015/6/28更具体的邮件,你可以提供例如after:<TIME_IN_SECONDS_SINCE_EPOCH>

比方说,你想后,邮件:2015年6月28日12时55分00秒之前:2015年7月1日2时30分零零秒,你会写:

after:1435496100 before:1435710600 
+1

谢谢tholle .. – user1021583

相关问题