检索主题行

时间:2018-01-12 09:52:36

标签: javascript google-api gmail gmail-api google-api-js-client

我想写一些javascript,它会登录我的Gmail,然后打印最后十封包含“匹配”字样的电子邮件。

我曾经尝试过,到目前为止,我已经得到了以下内容。注意该行

if ( messages[i].title.indexOf("match") !== -1; ) { 

不起作用,但我不确定如何访问每条消息的标题(我不确定这是搜索子字符串的最佳方法吗?)。

此外,我如何访问实际的电子邮件内容并打印而不是ID,就像我在这里一样:

output += messages[i].id + "<br>";

这是代码提取 -

   function listMessages() {
    var userId = "me";
    var request = gapi.client.gmail.users.messages.list({
      'userId': userId
    });
    request.execute(function(resp) {
      var messages = resp.messages;
      var output = "<br>Query returned " + messages.length + " messages:<br>";
      for(var i = 0; i < messages.length; i++) {
        if ( messages[i].title.indexOf(substring) !== -1; ) {
            output += messages[i].id + "<br>";
        }
    }
      document.getElementById("content").innerHTML += output;
    });
  }

但这只允许我打印消息的ID,而不是消息本身。

1 个答案:

答案 0 :(得分:0)

gmail API可以将q参数添加到列表方法Gmail Filter

原始通话看起来像这样

  

获取https://www.googleapis.com/gmail/v1/users/me/messages?q=&#34;主题:匹配&#34;

这样做只会返回主题中包含匹配的消息

一个疯狂的猜测是试图做request.q = "subject:match"之类的事情,但我对js客户端库知之甚少。 document.getElementById("content")应该是邮件内容