当前位置: 首页 > 知识库问答 >
问题:

谷歌应用程序脚本Gmail getPlainBody换行符

时向文
2023-03-14

使用谷歌应用脚本Gmail库,当我使用函数Gmail消息时。getPlainBody(),API似乎将过去的一个段落拆分为多个段落,可能会使用字符限制。例如,我的电子邮件中有一段写道:

From the link you sent me, I gleaned that Gmail refers to their secure email as confidential.

但当我在电子邮件中调用此功能时,它变成:

From the link you sent me, I gleaned that Gmail refers to their
secure email as confidential.

而且,当我在一个新的行定界符上拆分电子邮件文本,并进行一些清理,以使用我的输出创建一个数组时,我最终得到:

['From the link you sent me, I gleaned that Gmail refers to their', 'secure email as confidential.']

我查看了这篇Reddit帖子,它似乎处理了类似的问题。但是,我尝试了提出问题的人提出的解决方案:

body =  message.getPlainBody().replace(/\r\n\r\n/gm,'aaaLINEBREAKERaaa').replace(/\r\n/gm,' ').replace(/aaaLINEBREAKERaaa/gm, '\r\r').replace(/  /gm,' ')

但它并没有满足我的需求。有没有其他人遇到过这个问题,如果有,你有没有建议的解决方法?谢谢

共有1个答案

庾波光
2023-03-14

我也有同样的问题。在这种情况下,我使用了变通方法。

当我查看邮件时,我注意到HTML正文包含在邮件正文中,HTML正文包含原始段落,我使用了这种情况。因此,在这种解决方法中,从HTML正文中检索原始文本,并将HTML转换为文本。这样就得到了原来的段落。示例脚本如下所示。

这个脚本使用驱动应用编程接口将超文本标记语言转换为文本。所以在高级谷歌服务中启用驱动应用编程接口。

var message =  // Here, please use your "message".

var html = message.getBody();
var id = Drive.Files.insert({title: "temp", mimeType: MimeType.GOOGLE_DOCS}, Utilities.newBlob(html, MimeType.HTML)).id;
var text = DocumentApp.openById(id).getBody().getText(); // or DocumentApp.openById(id).getBody().getText().trim();
DriveApp.getFileById(id).setTrashed(true);
console.log(text)
  • getbody()
  • 文件:插入
 类似资料:
  • 在继续使用GoogleApps脚本构建Google电子表格的过程中,我已经完成了获取Bittrex和Poloniex余额的工作,但无法使用Cryptopia。 下面是我与Bittrex将JSON对象数组映射到字符串的斗争的链接 以下是官方API链接:https://www.cryptopia.co.nz/Forum/Thread/256 以下是一些例子: https://www.cryptopia

  • 我一直在努力对我的数据进行自动排序(根据第二行第一列数据进行升序),我通过在线搜索找到了一些提示,但遇到了一个错误,似乎我无法通过网络找到答案。 下面是一个场景: 我有两张床单,一张 这是床单 这是第二张 请注意,两张表中的列lastname和code相同,不同之处在于列的性别(在下拉列表中格式化) 我发现一个脚本似乎可以工作,但我不能完全正常工作,下面是我运行脚本后的输出。 注意红色框中的列,似

  • 我使用一个简单的脚本来删除1天后所有标有“摄像头”的电子邮件。这已经奏效好几个月了。我没有改变它,但它突然停止工作。 该脚本仍有在我的Gmail上运行的权限,但已停止。 感谢任何建议。 脚本是; 谢了山姆

  • 我想使用谷歌应用程序脚本更新谷歌电子表格,并在我拥有的一系列日历发生更改时使用Gmail API发送电子邮件。 Google日历推送通知是否可以与Google App Script一起使用,或者是否需要其他某种平台? 我愿意学习任何必要的东西。我知道需要一个域名来接收通知。 我感谢你的帮助!

  • 在谷歌工作表上,尝试根据特定单元格中的值隐藏/取消隐藏行,并尝试在AppsScript中为此编写脚本。发现一个隔离工作(如果B55=NO,则隐藏64行): 但我需要对多个单元格和多行使用相同的方法,只要我展开它,就只有代码的最后一部分有效,而不是第一部分: 从这里开始,B121号牢房开始工作,但我的B55停止工作。有什么提示吗?谢谢!

  • 我按照脚本以任何方式发布,在每周的特定时间发送Gmail自动回复?。然而,根据我目前的测试,我的Gmail账户在下班时间没有回复任何消息。 我做错了什么或不完整吗? 我所做的: 通过复制和粘贴在https://script.google.com/上创建了一个脚本。 保存脚本并测试它。它工作正常。在这里输入图像描述 任何提示都将不胜感激! 更新:我想知道为什么下面的脚本本身会导致“脚本函数未找到:m