【问题标题】:how to use GMAIL API query filter for datetime如何对日期时间使用 GMAIL API 查询过滤器
【发布时间】:2014-10-15 03:58:45
【问题描述】:

我在 REST 接口上使用 GMAIL API 从 gmail 服务器读取邮件,我的问题是当我使用日期过滤器时,将日期指定为“之后:2014/8/20 之前:2014/8/22”,然后从 2014/8/20 下午 12.30 开始的邮件被下载(理想情况下,它应该考虑从上午 12.00 开始的邮件)。从晚上 12.00 AM 到中午 12.30 PM 的邮件将被跳过。我认为服务器正在使用 PST 时区。 我可以在过滤器中指定时间吗?或者有没有办法指定时区以便我收到所有邮件。

使用的代码:

    UsersResource.MessagesResource.ListRequest      request         = null;
    ListMessagesResponse                            response        = null;
    request                 =   gmailServiceObj.Users.Messages.List(userEmail);
    String query            =   "after:" + FromDate.Date.ToString("yyyy/M/dd") + "   before:" + ToDate.Date.ToString("yyyy/M/dd") + " label:" + LabelID;  
    request.Q               =   query;             

谢谢, 哈西娜

【问题讨论】:

    标签: c# gmail-api


    【解决方案1】:

    API 在这方面的行为应该与 Web UI 相同,如果不是这样,您能验证一下吗?此处列出了搜索查询参数: https://support.google.com/mail/answer/7190?hl=en

    在上午 12:00 到 12:30 之间无法发送电子邮件似乎很奇怪,您的客户在哪个时区?用户在 Gmail 网络界面中设置的时区首选项是什么?您可以尝试更改该偏好,看看是否有帮助?如果没有,我能想到的一种解决方法是使用前一天的过滤器并在客户端进行过滤,就像那样丑陋...:-/

    【讨论】:

    • 客户端在 IST 时区工作。当我尝试在 Web 界面中运行查询时,我的意思是在 Gmail 中我得到了正确的结果,就好像我使用 GMAIL API 代码运行它一样,它给了我不同之处。请提出建议。
    • 刚刚检查过我的 Google Apps 域也在 IST 时区中。
    • 我通过 Web 界面和 API 得到不同的查询结果(区别在于午夜之后的消息)
    【解决方案2】:

    处理这些查询时使用的时区似乎始终是 PST。目前无法在请求中指定时区,或者让它使用帐户的时区。我会跟进工程团队提出解决方案。

    【讨论】:

      猜你喜欢
      • 2018-05-27
      • 1970-01-01
      • 2020-10-23
      • 2010-12-23
      • 1970-01-01
      • 2019-05-09
      • 2020-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多