6

我有一个时间触发的脚本,它定期从外部来源检索内容并用它更新 Google 网站页面。据此,脚本应该在我的帐户下运行,该帐户对该 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")
};
4

2 回答 2

3

在脚本编辑器中,您是否从下拉列表中选择了函数名称,然后单击运行图标?

更新页面

第一次以这种方式运行时,将显示一个弹出窗口,说明需要授权。您必须授权修改站点。如果这还没有完成,你会得到一个错误。

需要授权

授权网站:

管理站点

在授权脚本后,我运行了您的代码,并且它有效。

您可以进入您的帐户,并检查您授予了哪些项目权限。您需要选择“帐户”,然后在“帐户设置”窗口的“安全检查”部分中单击“开始”。

于 2015-01-28T23:34:44.513 回答
2

虽然是旧帖。我找到了解决我的类似问题的方法。您应该添加权限或范围:https ://developers.google.com/apps-script/concepts/scopes#setting_explicit_scopes

于 2021-09-14T19:42:52.740 回答