繁体   English   中英

如何使用C#在Google api中基于时间检索电子邮件?

[英]How to retrieve email based on time in Google api using c#?

如何使用C#在Google api中基于时间检索电子邮件? 我们可以通过日期时间查询字符串以获取最新的电子邮件吗? 在解决这一问题时,我只能找到日期。 有什么方法可以根据时间获取最新邮件吗?

是的,您可以通过传递查询参数以及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

然后,通过调用带有消息ID的获取来获取单个消息详细信息。

希望这可以帮助。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM