Google apps script 使用应用程序脚本解析GMail中的HTML

Google apps script 使用应用程序脚本解析GMail中的HTML,google-apps-script,gmail,html-parsing,Google Apps Script,Gmail,Html Parsing,我想构建一个脚本,该脚本将获取带有原始HTML的电子邮件,使用XML服务解析HTML并提取各种数据位 我的问题是,当您使用getRawContent()浏览HTML时,它会以引用的可打印格式显示出来(例如),这意味着XML服务不会解析它 有没有什么方法可以将其取消编码,使其成为更可读的格式?我可以在“=3D”上进行查找替换,除了a)电子邮件太长并且超时,b)我猜可能还有其他字符也会受到影响 编辑: 我也用.getBody()尝试过这一点,但是当我记录结果时,它不会显示任何HTML标记,如果我尝试

我想构建一个脚本,该脚本将获取带有原始HTML的电子邮件,使用XML服务解析HTML并提取各种数据位

我的问题是,当您使用
getRawContent()
浏览HTML时,它会以引用的可打印格式显示出来(例如
),这意味着XML服务不会解析它

有没有什么方法可以将其取消编码,使其成为更可读的格式?我可以在“=3D”上进行查找替换,除了a)电子邮件太长并且超时,b)我猜可能还有其他字符也会受到影响

编辑: 我也用
.getBody()
尝试过这一点,但是当我记录结果时,它不会显示任何HTML标记,如果我尝试搜索我知道存在于HTML中的字符串,
match()
只会返回空值:

var htmlContent = GmailApp.getUserLabelByName('myLabel').getThreads()[0].getMessages()[0].getBody();

Logger.log(htmlContent);
Logger.log(htmlContent.match('<html'));  
Logger.log(htmlContent.match('cellspacing'));
var htmlContent=GmailApp.getUserLabelByName('myLabel')。getThreads()[0]。getMessages()[0]。getBody();
Logger.log(htmlContent);
Logger.log(htmlContent.match)(“您应该使用getBody()方法来获取消息的HTML内容

var message = GmailApp.getInboxThreads()[0].getMessages()[0];
Logger.log(message.getBody());

现在这可能很少见,但电子邮件仍然只能以纯文本形式发送。签出原始电子邮件。上介绍了如何在Gmail上检查原始邮件。

但不包括HTML标记?我需要HTML结构,以便能够正确解释数据-循环表行等。它包括所有HTML标记。当我记录它或搜索HTML类型字符串时,我看不到任何这些内容。请参见上面的编辑。我已经尝试了您的代码,这确实为我返回了HTML。只要我将
.getInboxThreads()[0]
替换为
.getUserLabelByName('myLabel')。getThreads()[0]
它返回纯文本。为什么会有所不同?它也适用于其他标签。因此,似乎是这封特定的电子邮件导致了问题。可能是长度造成的吗?这些电子邮件会被剪裁,我必须在UI中单击“查看整封邮件”以查看到底。