【问题标题】:how to retrieve messages after a given point of time using javascript and gmail API?如何使用 javascript 和 gmail API 在给定时间点后检索消息?
【发布时间】:2018-12-27 11:04:32
【问题描述】:

我有一个使用 gmail API 和 javascript 来处理 gmail 消息的网页。我被困在想要在特定时间戳之后检索消息的地方。

这是我列出邮件的代码的一部分

{
var request = gapi.client.gmail.users.messages.list({
      'userId': 'me',
      'maxResults': 10

 });

我想列出长日期1531958459000之后的消息。

我的尝试如下

{
var request = gapi.client.gmail.users.messages.list({
      'userId': 'me',
      'after':'1531958459000',
      'maxResults': 10

 });

它似乎不起作用。不是在那之后收到消息,而是随机收到 10 条消息,就像没有 after 部分的代码一样。

有什么帮助吗?

【问题讨论】:

  • 试试这个 var request = gapi.client.gmail.users.messages.list({ 'userId': 'me', 'maxResults': {maxResult:'10'}, });
  • @Amine Ramoul,问题是关于在特定时间戳之后获取消息,您的建议没有回答;对不起。
  • 我知道 max Result 还没有工作,如果你初始化它会花费很多时间来递归,所以你没有看对地方看看这篇文章:@ 987654321@

标签: javascript gmail-api


【解决方案1】:

您的代码有两个问题。

首先,您不能将字段after 放在请求正文中。但是,您有 q 字段,可用于输入 Gmail 查询,就像在 Gmail 应用程序中一样。查看文档了解更多详情:https://developers.google.com/gmail/api/v1/reference/users/messages/list

其次,after 查询似乎不支持以毫秒为单位的时间戳,而是以秒为单位。

所以,你的代码应该是这样的:

var request = gapi.client.gmail.users.messages.list({
  'userId': 'me',
  'q':'after:1531958459',
  'maxResults': 10
});

最好的问候!

【讨论】:

    【解决方案2】:

    我想通了。基本上,附加查询参数接受'q': 作为查询和任何参数。这些参数应与根据google's documentation 进行的常规 gmail 收件箱搜索的格式相匹配。

    所以我不得不将长日期更改为yyyy/mm/dd 格式。我是使用来自this answer 的提示完成的。

    然后修改我的代码如下:

    {
    var ld = new Date(lastupdatedtime).toJSON().slice(0, 10).split("-").reverse().join("/");//lastupdated time in google search query string like format
    var cd = new Date(+ new Date()).toJSON().slice(0, 10).split("-").reverse().join("/");//the current time in google search query string like format
    var search_query = "after:"+ld+" before:"+cd;
    var request = gapi.client.gmail.users.messages.list({
          'userId': 'me',          
          'q': search_query,
          'maxResults': 10//the number of results to check through
    
        });
    

    而且效果很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-03
      • 2021-03-21
      • 2015-01-26
      • 2014-03-06
      • 2015-10-25
      • 2016-05-29
      • 2015-07-10
      • 2014-08-17
      相关资源
      最近更新 更多