如何从 Google 电子表格中的 Google Apps 脚本自动更新“站点地图”功能?

     2023-03-25     75

关键词:

【中文标题】如何从 Google 电子表格中的 Google Apps 脚本自动更新“站点地图”功能?【英文标题】:How to automatically update 'sitemap' function from Google Apps Script in Google Spreadsheet? 【发布时间】:2019-06-07 08:11:59 【问题描述】:

我对 Google Apps 脚本很陌生。我正在使用一个脚本,将 XML 站点地图中的 URL 提取到 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 
    

脚本工作正常,但问题是它没有根据我创建的触发器更新信息。有人对如何解决这个问题有建议吗?

【问题讨论】:

...你忘记setValues()了吗? 【参考方案1】:

该函数没有更新电子表格,因为没有任何语句可以这样做。

有几种方法可以做到这一点,但很有可能,假设locs 是一个二维数组对象,您应该使用range.setValues(locs),其中range 是目标范围。

请阅读https://developers.google.com/apps-script/guides/sheets 了解更多详细信息,或搜索此站点以了解有关将值传递到工作表的问题(有很多)。

【讨论】:

嗨@Rubén,感谢您的回复。您能否澄清一下我将如何在我的脚本中使用 range.setValues(locs) ?我已经阅读了文档,所以我知道它为什么不起作用。我也阅读了很多关于使用 range.setValues 的帖子,但我似乎无法让它在我的情况下工作。非常感谢您的帮助。我最近才开始使用 Google Apps 脚本。

如何将数组传递到 Google 电子表格的 Google App 脚本中的查询字符串

】如何将数组传递到Google电子表格的GoogleApp脚本中的查询字符串【英文标题】:HowtopassanarrayintoaquerystringinGoogleAppScriptforaGoogleSpreadsheet【发布时间】:2018-10-1111:51:21【问题描述】:我有一个脚本,它将以字符串变量(名为sql)的... 查看详情

如何保护 Google 电子表格中的 Apps 脚本代码?

】如何保护Google电子表格中的Apps脚本代码?【英文标题】:HowtoprotecttheAppsScriptcodeinaGooglespreadsheet?【发布时间】:2013-04-1102:59:42【问题描述】:我已经使用脚本编辑器为我的Google电子表格编写了一些代码。我想与我的客户共享此... 查看详情

ImportHTML 的 Google 电子表格中的解析错误

...网站访问第5个表(股东),但出现解析错误。谁能建议如何解决它?我的代码:=ImportHTML(“https://www.marketscreener.com/YANGZIJIANG-SHIPBUILDIN 查看详情

如何将宏应用于 Google 表格中一个电子表格中的所有表格

】如何将宏应用于Google表格中一个电子表格中的所有表格【英文标题】:HowtoapplyamacrotoallsheetsinonespreadsheetinGoogleSheets【发布时间】:2019-03-1721:39:31【问题描述】:我在google表格中为我的电子表格中的一张表格记录了宏。我想编辑... 查看详情

使用 Google 电子表格中的 GoogleAds API

】使用Google电子表格中的GoogleAdsAPI【英文标题】:UseGoogleAdsAPIfromGoogleSpreadsheet【发布时间】:2020-01-1921:08:58【问题描述】:有没有办法从Google电子表格脚本轻松调用GoogleAdsAPI(更准确地说是TargetingIdeaService)?看起来应该是它们... 查看详情

如何将范围传递给 Google 电子表格中的自定义函数?

】如何将范围传递给Google电子表格中的自定义函数?【英文标题】:HowtopassarangeintoacustomfunctioninGoogleSpreadsheets?【发布时间】:2016-07-2815:39:54【问题描述】:我正在尝试在预定义的范围内比较两个谷歌工作表(重复值)..我知道goo... 查看详情

使用 Google Data API 使用 C# 访问 Google 电子表格

】使用GoogleDataAPI使用C#访问Google电子表格【英文标题】:AccessingGoogleSpreadsheetswithC#usingGoogleDataAPI【发布时间】:2010-10-1801:25:06【问题描述】:我在Google电子表格中将一些信息作为单张表格保存。有什么方法可以通过提供谷歌凭据... 查看详情

Google Apps 脚本 - 将一行数据从一个电子表格移动到另一个电子表格

】GoogleApps脚本-将一行数据从一个电子表格移动到另一个电子表格【英文标题】:GoogleAppsScript-movearowofdatafromonespreadsheettoanother【发布时间】:2020-05-2121:35:39【问题描述】:我是javascript和google应用程序脚本领域的新​​手,我正... 查看详情

使用 Google 脚本从 MYSQL 更新 google 电子表格

】使用Google脚本从MYSQL更新google电子表格【英文标题】:UpdatingthegooglespreedsheetfromMSSQLusingGoogleScripts【发布时间】:2016-09-0309:48:28【问题描述】:我正在尝试使用谷歌应用脚​​本将MSSQL连接到谷歌电子表格。这是我的应用脚本代... 查看详情

如何避免“#DIV/0!” Google 文档电子表格中的错误?

】如何避免“#DIV/0!”Google文档电子表格中的错误?【英文标题】:HowdoIavoidthe"#DIV/0!"errorinGoogledocsspreadsheet?【发布时间】:2011-09-2920:07:10【问题描述】:当K23到M23单元格为空时,我有一列以#DIV/0!开头的average(K23:M23)。最... 查看详情

GBQexception:如何使用存储在 Google Drive 电子表格中的大查询读取数据

】GBQexception:如何使用存储在GoogleDrive电子表格中的大查询读取数据【英文标题】:GBQexception:Howtoreaddatawithbigquerythatisstoredongoogledrivespreadsheet【发布时间】:2018-07-2305:41:03【问题描述】:我通过googledrive选项将数据集上传到bigquery... 查看详情

从 Google 电子表格中获取 ID 或 URL

...。两个帐户的数据(即列等)相同。我唯一遇到的问题是如何找到帐户A上的第一个脚本在帐户B上运行脚本时创建的文档。如果我能获得电子表格的URL或ID,那会 查看详情

从 Google 电子表格中的一个单元格导出 DB2 DDL

】从Google电子表格中的一个单元格导出DB2DDL【英文标题】:ExportDB2DDLfromOneCellinGoogleSpreadsheet【发布时间】:2021-02-1213:44:11【问题描述】:我有一个供团队使用的数据库更改模板,它已被接受,但唯一需要的是:1-我们可以在同一... 查看详情

如何在 PHP 中访问 Google 电子表格 API?

】如何在PHP中访问Google电子表格API?【英文标题】:HowdoIaccesstheGoogleSpreadsheetsAPIinPHP?【发布时间】:2013-12-2220:11:01【问题描述】:从GoogleDeveloperdocumentationontheGoogleSpreadsheetsAPI开始,我发现“提供了多种语言的许多客户端库。”,... 查看详情

仅通过 Google Apps 脚本值修改 Google 电子表格

】仅通过GoogleApps脚本值修改Google电子表格【英文标题】:ModifyGoogleSpreadsheetviaGoogleAppsScriptValuesOnly【发布时间】:2013-09-1222:55:13【问题描述】:好的,这就是我想要做的:通过我的函数创建一个新的电子表格将当前电子表格VALUESO... 查看详情

如何使用 COLUMNS 中的数据在 Google 电子表格上“自动填充”ROWS?

】如何使用COLUMNS中的数据在Google电子表格上“自动填充”ROWS?【英文标题】:Howto"Auto-fill"ROWSonGooglespreadsheetwithdatafromCOLUMNS?【发布时间】:2015-04-0711:59:38【问题描述】:我想在一个工作表(A)上使用自动填充功能拖动一些... 查看详情

如果源在不同的工作表中,Google 电子表格如何插入注释

】如果源在不同的工作表中,Google电子表格如何插入注释【英文标题】:GoogleSpreadsheetsHowtoinsertnotesifsourceisinadifferentsheet【发布时间】:2015-06-1520:49:53【问题描述】:我正在尝试编写代码以在一系列单元格中插入注释,这些注释... 查看详情

从 Google 电子表格的下拉列表中选择多个值

】从Google电子表格的下拉列表中选择多个值【英文标题】:SelectingMultipleValuesfromaDropdownListinGoogleSpreadsheet【发布时间】:2014-06-1515:56:57【问题描述】:Google电子表格看起来只能在下拉列表中选择一个值。有没有办法从谷歌电子表... 查看详情