Как автоматически обновить функцию «карта сайта» из скрипта Google Apps в электронной таблице Google? - PullRequest
1 голос
/ 07 июня 2019

Я довольно новичок в скриптах Google Apps. Я использую сценарий, который вытягивает URL-адреса из карты сайта XML в таблицы Google. Мне нужно, чтобы он был основан на времени, чтобы он добавлял новые URL при их добавлении.

Я добавил триггер к своему коду через триггеры проекта. Триггер, кажется, работает, но электронная таблица не обновляется новыми URL-адресами.

Я использую следующий код

function sitemap(sitemapUrl,namespace) {
 try {
    var xml = UrlFetchApp.fetch(sitemapUrl).getContentText();
    var document = XmlService.parse(xml);
    var root = document.getRootElement()
    var sitemapNameSpace = XmlService.getNamespace(namespace);

    var urls = root.getChildren('url', sitemapNameSpace)
    var locs = []

    for (var i=0;i <urls.length;i++) {
      locs.push(urls[i].getChild('loc', sitemapNameSpace).getText()) 
    }

    return locs  
  } catch (e) {
    return e 
    }
}

Скрипт работает нормально, но проблема в том, что он не обновляет информацию в соответствии с созданным мной триггером. У кого-нибудь есть предложения как это решить?

1 Ответ

0 голосов
/ 08 июня 2019

Функция не обновляет электронную таблицу, потому что нет ни одного оператора, который делает это.

Есть несколько способов сделать это, но вполне вероятно, что locs является объектом 2D-массива, что вы должны использовать range.setValues(locs), где range - диапазон назначения.

Пожалуйста, прочитайте https://developers.google.com/apps-script/guides/sheets для получения дополнительной информации или поищите на этом сайте вопросы о передаче значений на лист (их много).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...