bha*_*avi 3 gmail gmail-imap google-apps-script
我想要一份来自gmail的昨天所有电子邮件的列表.我正在尝试使用谷歌应用程序脚本,在我的收件箱中编写查询,然后使用GmailApp.search来处理它.after:和之前:gmail中的搜索查询返回不期望的结果,因为查询根据发送邮件的SMTP服务器时间(谷歌的服务器)进行搜索.因此,在不同的时区,搜索会给我带来不适当的结果.有没有办法使用时间标准搜索Gmail,以便我可以适应时区差异?
请注意,我的时区正确配置了本地时区,日历,Gmail等,因此我在收件箱中看到的电子邮件是正确计时的.只有搜索才会产生问题.
实际上,经过一些试验和错误,我找到了一种方法,确实可以按时间搜索Gmail电子邮件.我注意到谷歌应用程序脚本中返回的Date()是根据我的时区.下面的代码将返回收件箱中所有前一天的电子邮件,假设新的Date()根据您的时区给出日期和时间.请注意,getTime()返回毫秒,而较新/较旧的查询需要秒.
var month = new Date().getMonth();
var date = new Date().getDate();
var year = new Date().getFullYear();
var time1 = new Date(year, month, date, 0, 0, 0).getTime();
var time2 = time1 - 86400000;
var query = "newer:" + time2/1000 + " older:" + time1/1000 + " in:inbox";
var conversations = GmailApp.search(query);
Run Code Online (Sandbox Code Playgroud)
我希望它对某人有帮助.
| 归档时间: |
|
| 查看次数: |
5928 次 |
| 最近记录: |