2

gmailr是一个很棒的包。我可以获得与特定标准相对应的消息,但我也想确定哪条具有给定标准的消息是最新的。我在那里有点难过。

如果我这样做,> gm_message(msgs[[c(1)]]$messages[[c(1)]]$id)我会在控制台中获得输出:

Id: 173193ce84e6e040
To: lemon.hwww@gmail.com
From: "Name" <name.surname@gmail.com>
Date: Sat, 4 Jul 2020 10:50:52 +0100
Subject: Test Rsend 2020-07-04
Attachments: 'caseload_data.csv'  

我不确定如何轻松访问Date: - 如果可以,我可以使用lubridate. 当我查看消息的相当复杂的列表结构时,我还发现了一个internalDate- 我不太确定如何处理,我不知道它是否与上面的 Date: 相同。

library(gmailr)
# I authenticate properly and can use gmailr functions:
# I get messages with a particular attachment and subject
srch <- "filename:caseload subject:Rsend newer_than:2d"
msgs <- gm_messages(search = srch)
# I need to determine unequivocally which is the newest
# internalDate gives me:
gm_message(msgs[[c(1)]]$messages[[c(1)]]$id)$internalDate
[1] "1593856252000"
# if I presume it is Unix epoch:
as.POSIXct(as.numeric(gm_message(msgs[[c(1)]]$messages[[c(1)]]$id)$internalDate), origin="1970-01-01")
# I get:
[1] "52477-04-17 08:46:40 BST"
# which is due to the extra zeros at the end of `internalDate` - 
# but since I do not know the format and function of `internalDate` 
# I am not sure how to best deal with them.

非常感谢有关如何最好地编写一个函数的建议,该函数将为我提供基于某些搜索条件检索到的所有消息中的最新消息。或者澄清如何获取消息日期以及它与 internalDate 的关系也将回答这个问题。

4

0 回答 0