2014-09-25 54 views
4

在我的用例中,我必须检索用户的所有电子邮件。但是有些电子邮件的标题中没有“Date”,尽管gmail可以在Web界面中显示日期。那么,有没有办法检索这个日期?没有日期的电子邮件

也许Gmail会通过电子邮件发送一些附加信息?

+0

你能提供确切的电话你的制作和响应你得到这是不恰当的?我想象message.get()?什么'格式'?它真的是一封电子邮件(而不是聊天/聚会)吗? – 2014-09-25 16:18:29

+0

它不是message.get(),而是具有消息资源的threads.get()。在这封邮件的消息源中,没有标题日期,但这是正常的,因为当邮件发送为EML(http://pastebin.com/4XxEHaMf)时邮件没有日期标题。那么,gmail如何在他的web界面中显示好日期呢?我们可以通过API轻松检索这个日期吗? PS:对不起,我的英文不好。 – Quentin01 2014-09-26 12:16:50

回答

2

您现在可以通过Gmail API检索internalDate,该API代表在Google上创建邮件的时间为ms。

列表消息:

GET https://www.googleapis.com/gmail/v1/users/me/messages?access_token={YOUR_API_KEY} 

响应:

{ 
"messages": [ 
    { 
    "id": "14ea5fa7f99dc9e6", 
    "threadId": "14ea5fa7f99dc9e6" 
    }, ... 
} 

并分别得到了消息,要求为internalDate

GET https://www.googleapis.com/gmail/v1/users/me/messages/14ea5fa7f99dc9e6?fields=internalDate&access_token={YOUR_API_KEY} 

响应:获取请求:

{ 
"internalDate": "1437303729000" // This is the time in ms it was created. 
} 

如果您正在使用线程,你可以通过简单地发出Users.thread得到线程每个消息的internalDate