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

如何使用c#在Google api中基于时间检索电子邮件?,c#,google-api,gmail-api,C#,Google Api,Gmail Api,如何使用c#在Google api中基于时间检索电子邮件? 我们可以通过日期时间查询字符串来获取最新的电子邮件吗? 在处理这个问题时,我只能找到日期。 有没有办法根据时间获取最新邮件?是的,您可以通过在Gmail API的get Message List调用中传入查询参数来实现这一点,如下所示: List<Message> result = new List<Message>(); UsersResource.MessagesResource.ListReques

如何使用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));
列表结果=新列表();
UsersResource.MessagesResource.ListRequest请求=service.Users.Messages.List(userId);
Q=查询//这是您输入数据查询的地方
做
{
尝试
{
ListMessagesResponse-response=request.Execute();
result.AddRange(response.Messages);
request.PageToken=response.NextPageToken;
}
捕获(例外e)
{
Console.WriteLine(“发生错误:+e.Message”);
}
}而(!String.IsNullOrEmpty(request.PageToken));
查询参数与在邮箱搜索框中传递的参数相同。e、 g.2015年6月28日之后2015年7月1日之前

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


希望这有帮助。

是的,您可以通过在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));
列表结果=新列表();
UsersResource.MessagesResource.ListRequest请求=service.Users.Messages.List(userId);
Q=查询//这是您输入数据查询的地方
做
{
尝试
{
ListMessagesResponse-response=request.Execute();
result.AddRange(response.Messages);
request.PageToken=response.NextPageToken;
}
捕获(例外e)
{
Console.WriteLine(“发生错误:+e.Message”);
}
}而(!String.IsNullOrEmpty(request.PageToken));
查询参数与在邮箱搜索框中传递的参数相同。e、 g.2015年6月28日之后2015年7月1日之前

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


希望这能有所帮助。

富汉的回答很好。我想补充一点,如果您想搜索比2015/6/28更具体的邮件,您可以提供例如:after:

假设你想在2015/6/28 12:55:00之后和2015/7/1 02:30:00之前收到邮件,你会写:

after:1435496100 before:1435710600

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

假设你想在2015/6/28 12:55:00之后和2015/7/1 02:30:00之前收到邮件,你会写:

after:1435496100 before:1435710600

事实上,我希望邮件是基于时间,而不是日期。查询参数如下:2015/6/28 12:55:00 PM之后;2015/7/1 02:30:00 Am之前。Thanx提前。是的,对。本质上,你可以像在Gmail搜索框中一样输入相同的查询参数。事实上,我想要的是基于时间的邮件,而不是日期的邮件。查询参数如下:2015/6/28 12:55:00 PM之后;2015/7/1 02:30:00 Am之前。Thanx提前。是的,对。本质上,你可以像在Gmail搜索框中一样输入相同的查询参数。事实上,我想要的是基于时间的邮件,而不是日期的邮件。查询参数如下:2015/6/28 12:55:00 PM之后;2015/7/1 02:30:00 Am之前。Thanx提前我想根据特定的时间间隔阅读邮件。实际上我想根据时间而不是日期来阅读邮件。查询参数如下:2015/6/28 12:55:00 PM之后;2015/7/1 02:30:00 Am之前。Thanx提前我想根据特定的时间间隔阅读电子邮件。