新的Google日历使用HTML破坏了我的脚本?

时间:2018-01-09 05:04:04

标签: html google-apps-script calendar

我的脚本会获取一系列日期的日历事件,并将其放入Google表格中。然后我可以将表格“打印”成PDF并发送给俱乐部会员。 俱乐部会员需要通过电子邮件预订活动。我试图在日历中添加“mailto”链接,但它们在PDF中无法点击,因此我停止了这样做,并将电子邮件地址列为纯文本。 现在使用新的Google日历,放入“说明”字段的所有电子邮件地址都显示为超文本链接。 (“Inspect Element”显示类似

的内容
<a href="mailto:person@domain" target="_blank">person@domain</a> )

其中一些作为超文本链接(href =“mailto:依此类推)进入电子表格,有些就像裸电子邮件地址一样。 我的脚本使用

获取日历条目
var events = cal.getEvents
    (new Date(StartMonth + firstDay + ", " + StartYear + " 00:00:00"),
    new Date(  EndMonth +  lastDay + ", " +   EndYear + " 23:59:59"));

我用

从“events”数组中获取了Description
events[i].getDescription()

您是否知道最近Google日历条目的“说明”字段类型的更改是否会导致问题? 是否有可以将HTML转换为纯文本的getDescription选项? 或者,更好的是,有没有办法在Google Sheet生成的PDF中制作可点击链接? 谢谢,吉姆

1 个答案:

答案 0 :(得分:2)

  

您是否知道最近Google日历条目的“说明”字段类型的更改是否会导致此问题?

这是由于Google日历的更新,最初于2017年10月发布,但过去几个月已经推出。 Google在更新版本的事件描述字段中添加了文本格式设置功能(列表,粗体,斜体,链接)。他们现在通过他们的日历源推送html标签。此更新导致here

  

是否有可以将HTML转换为纯文本的getDescription选项?

是的,但具有破坏性。至少,您可以在javascript中查看all sorts of problems。你会以这种方式丢失段落和换行符。另一种选择是使用可以删除标签的库,同时保留一些纯文本/空白格式,例如removing the html tags