标签: gs-installable-triggers

插入新行时在谷歌电子表格上触发脚本

我正在谷歌电子表格上运行一个脚本,应该由来自 Zapier (www.zapier.com) 的 zap 触发 onChange() 事件(当在电子表格中插入新行时)。我可以在电子表格中看到正在创建的新信息,但未触发触发器。我已经用 onEdit() 事件进行了测试,但它不起作用。它不应该是基于时间的触发器。

有什么建议?

triggers google-sheets google-apps-script zapier gs-installable-triggers

7
推荐指数
1
解决办法
8584
查看次数

您无权执行该操作

我有一个时间触发的脚本,它定期从外部源检索内容并用它更新 Google 网站页面。根据,该脚本会我的账户,这已充分评估,谷歌网站页面(通过手动编辑它测试)下运行。但是当我运行脚本时,我得到了

您无权执行该操作。

如果我可以手动编辑页面,为什么我在运行脚本时没有该权限?

这是(通用的)脚本函数:

function updatePage() {
  var site = 'https://sites.google.com/a/mydomain.com/myhome/mypagegroup/mypage';
  var pageName = '/mypagegroup/mypage';

  var site = SitesApp.getSiteByUrl(site);
  var page = site.getChildByName(pageName); //works fine
  Logger.log('page: ' + page.getTitle()); //displays correct page title

  var html = '<p>'; //in actual script, I get html from external source

  Logger.log('html: ' + html);

  page.setHtmlContent(html); //this is where the error is generated ("You do not have permission to perform that action")
};
Run Code Online (Sandbox Code Playgroud)

google-sites google-apps-script gs-installable-triggers

5
推荐指数
1
解决办法
1万
查看次数

获取所有 Google Script 触发器并删除它们

有没有办法从 Google Script 中的所有文档中获取(和更改/删除)所有触发器,就像我打开一样Script Editor -> Edit -> All your triggers

更新:

我添加了一些测试触发器并尝试循环所有电子表格文件,正如Pierre-Marie Richard所说:

function getAllSpreadsheetTriggers()
{
    var files = DriveApp.getFilesByType('application/vnd.google-apps.spreadsheet'),
        spreadsheets = [],
        triggers     = [];

    while(files.hasNext())
        spreadsheets.push( SpreadsheetApp.openById(files.next().getId()) );

    for (var i = 0; i < spreadsheets.length; i++)
    {
        triggers = ScriptApp.getUserTriggers( spreadsheets[i] );
        Logger.log(triggers);
    }
}
Run Code Online (Sandbox Code Playgroud)

.getUserTriggers()总是返回一个空数组。我读了这个问题,最后一个答案是“我们决定不对这个问题采取行动。触发器总是属于一个特定的脚本,其他脚本无法访问。已经澄清了文档以明确这一点。”

原来做不到?

google-apps-script gs-installable-triggers

4
推荐指数
1
解决办法
2542
查看次数

每天 8:00、12:30、17:00 运行 Gmail Google Apps 脚本

我需要每天运行 Google Apps 脚本三次:8:00、12:30、17:00。

这该怎么做?

我已经看过了Triggers,更具体地说Time driven

  • 小时计时器,但是Every hourEvery 2 hoursEvery 4 hours未在此处进行调整

  • 日定时器,但8am to 9am不是很精确,我更喜欢更精确的东西,而且 12:30 也是不可能的

  • 特定时间,但随后YYYY-MM-DD HH:MM不适合每天运行

From calendar 触发器似乎也没有适应。

javascript triggers google-apps google-apps-script gs-installable-triggers

3
推荐指数
2
解决办法
1290
查看次数