抓取当前打开的gmail邮件的内容

时间:2018-07-16 09:54:18

标签: javascript gmail

我需要解析gmail消息中的内容,但只解析当前打开的gmail消息中的内容,而不是整个文档。例如,如果我们以这种url格式打开gmail https://mail.google.com/mail/u/1/#inbox/164a1b634b58699f 这是特定消息的页面,而不是gmail的整个正文。

为了解析内容,我使用了treewalker,如下所示

var scriptFilter = {
  acceptNode: function(node) {
    if (node.parentNode.nodeName !== 'SCRIPT' || node.parentNode.nodeName !== 'STYLE') {
      return NodeFilter.FILTER_ACCEPT;
    }
  }
};



var walker = document.createTreeWalker(
  document.body, 
  NodeFilter.SHOW_TEXT, 
  scriptFilter, // only needs the pure content from currently opened gmail message body
  false
);

var node;
var textNodes = [];

while(node = walker.nextNode()) {
  textNodes.push(node.nodeValue);
}

console.log(textNodes);

这会解析整个文档的内容,但是我只需要解析当前打开的gmail邮件正文。

仅是当前打开的gmail消息的正文部分,如屏幕截图

enter image description here

1 个答案:

答案 0 :(得分:-1)

我认为使用gmail api阅读消息会容易得多(也更干净) https://developers.google.com/gmail/api/v1/reference/users/messages/get