google-apps-script - Google 应用脚本错误 : You do not have permission to call getActiveForm?

标签 google-apps-script permissions google-forms

我正在创建一个脚本,该脚本从表单中获取信息并将其写入日历。当我在脚本编辑器中运行脚本时,它运行良好,从电子表格中获取信息并创建日历事件。但是,当我填写表单并提交(提交是触发器)时,我收到一条错误消息,指出我无权调用 getActiveForm()。我拥有表格和日历。我很欣赏任何想法。

代码

function createEvent() {
  var calendarToUse = "testing";
  var ssUrlToUse ='https://docs.google.com/a/bay.k12.fl.us/spreadsheets
/d/1ZTDQL9G5U7RqbbKQbAfb3ERqFwpSsC3EOQxdD1zdQwA/edit#gid=441997215';

  /* Get Canalnder*/
  var calen = CalendarApp.getCalendarsByName(calendarToUse);
  var cal = calen[0];
  Logger.log(cal.getName());

  /* get info from responses*/

var mySS
=SpreadsheetApp.openByUrl(ssUrlToUse).getActiveSheet()
  Logger.log(mySS.getName());
  var values = mySS.getDataRange().getValues();
  var response = values[values.length-1];
  var i=2;
  var desc = response[i]; 
  var loc = response[i+1];
  var start = makeGreatDate( response[i+2], response[i+4]);
  var end = makeGreatDate(response[i+3],response[i+6]);
  var title =  response[i+5];

  /* populate calendar event*/ 
  var event = cal.createEvent(title, start, end, {
      description : desc,
      location : loc
      });


};

function makeGreatDate(date, time) {
   var day = new Date(date);
  day.setHours(time.getHours());
  day.setMinutes(time.getMinutes());
  Logger.log( "The Date is"+ day);
  return day;
}

最佳答案

我遇到了同样的问题。我的脚本只是将表单响应和格式转换为电子邮件。与 OP 类似,我没有打过一次电话 FormApp.getActiveForm()在我的脚本中的任何地方。

在我添加 PropertiesService.getScriptProperties() 后立即开始出现此权限问题称呼。

虽然不是一个成熟的解决方案,但我能够通过为 FormApp.getActiveForm() 添加一行来解决这个问题。 ,保存,然后保存我的触发器(再次检查权限)。我被要求确认 Offline Access脚本的权限。

然后我删除了不需要的行,表单工作正常。

关于google-apps-script - Google 应用脚本错误 : You do not have permission to call getActiveForm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25712837/

相关文章:

javascript - 使用 MailApp.sendEmail 时发生服务器错误

javascript - 从 Google 表单更新单元格后从 Google 表格发送电子邮件

google-apps-script - 如何通过Google App脚本获取“Google的收件箱”提醒?

javascript - 如何让 onchange 设置 onclick=window.open(url)?

sql-server - 在 Azure SQL 数据库上设置 RESTRICTED_USER

google-forms - Google 表单 - 此表单包含需要登录的功能

javascript - 对应用程序脚本中的列执行文本并作为表格发送

JavaScript 邮件函数 - 从字符串中删除日期戳部分

permissions - Advantage 数据字典中自动创建的 ADSSYS 用户的作用是什么?

android - 包装信息 : requestedPermissions vs permissions