Помогите доработать скрипт пересылки RSS
Этот скрипт работает с таблицей где на ящейке A1 фид, А2 Тема письма, А3 дата последнего поста.
Скрипт отправляет только Тему , ссылку и дату поста.
Помогите скрипт доделать, чтоб он отправлял и тело RSS записи.
Все это крутится на гугл драйв.
function checkFeeds() {
const mailAddress = "mail@mail.me";
const feedColumn = 1;
const mailSubjectColumn = 2;
const lastPublicationDateColumn = 3
var row = 2;
var sheet = SpreadsheetApp.getActiveSheet();
while (true) {
var currentRow = row++;
var feed = sheet.getRange(currentRow, feedColumn).getValue();
if (feed == "") {
break;
}
var mailSubject = sheet.getRange(currentRow, mailSubjectColumn).getValue();
var mailBody = "";
var lastPublicationDateCell = sheet.getRange(currentRow, lastPublicationDateColumn);
var feedContent = UrlFetchApp.fetch(feed).getContentText();
var doc = Xml.parse(feedContent, false);
var root = doc.getElement();
if (root == null) {
break;
}
var rootName = root.getName().getLocalName();
if (rootName == "rss") {
var rssVersion = root.getAttribute("version");
if (rssVersion == null) {
break;
}
if (rssVersion.getValue() == "2.0") {
mailBody = parseRssFeed(root, mailSubject, lastPublicationDateCell);
}
} else if (rootName == "feed") {
mailBody = parseAtomFeed(root, mailSubject, lastPublicationDateCell);
}
if (mailBody != "") {
GmailApp.sendEmail(mailAddress, mailSubject, mailBody);
}
}
}
function parseRssFeed(root, mailSubject, lastPublicationDateCell) {
var maxPubDateText = lastPublicationDateCell.getValue();
var maxPubDate = "2000-01-01T00:00:00Z";
if (maxPubDateText != "") {
maxPubDate = maxPubDateText;
}
var channel = root.getElement("channel");
var mailBody = "";
var items = channel.getElements("item")
var curMaxPubDate = maxPubDate;
for (var i in items) {
var dateText = items[i].getElement("pubDate").getText();
var pubDate = Utilities.formatDate(new Date(dateText), "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'");
if (pubDate > maxPubDate) {
if (pubDate > curMaxPubDate) {
curMaxPubDate = pubDate
}
mailBody += "\nЗаголовок: " + items[i].getElement("title").getText();
mailBody += "\nСсылка: " + items[i].getElement("link").getText();
mailBody += "\nДата публикации: " + pubDate;
mailBody += "\n";
}
}
lastPublicationDateCell.setValue(curMaxPubDate);
return mailBody;
}
function parseAtomFeed(root, mailSubject, lastPublicationDateCell) {
var maxPubDateText = lastPublicationDateCell.getValue();
var maxPubDate = "2000-01-01T00:00:00Z";
if (maxPubDateText != "") {
maxPubDate = maxPubDateText;
}
var mailBody = "";
var entries = root.getElements("entry")
var curMaxPubDate = maxPubDate;
for (var i in entries) {
var pubDate = entries[i].getElement("updated").getText();
if (pubDate > maxPubDate) {
if (pubDate > curMaxPubDate) {
curMaxPubDate = pubDate
}
mailBody += "\nЗаголовок: " + entries[i].getElement("title").getText();
mailBody += "\nСсылка: " + entries[i].getElement("link").getAttribute("href").getValue();
mailBody += "\nДата публикации: " + pubDate;
mailBody += "\n";
}
}
lastPublicationDateCell.setValue(curMaxPubDate);
return mailBody;
}