当前位置: 首页 > 知识库问答 >
问题:

FormApp。openById()-找不到具有给定ID的项

韩梓
2023-03-14

我有一个GoogleSheets触发器功能,它可以在表单提交中根据为我的一个问题选择的值将提交内容放置在表单中。我正在尝试使用“作为附加项进行测试”功能测试我的函数,但是当我提交表单时,我在我的onSubmit函数中收到一个错误,错误消息是找不到具有给定ID的项,或者您没有访问它的权限。(第9行,文件“代码”)来自触发器formSubmit

这是错误的一行,

  var form = FormApp.openById(ss.getFormUrl());

这使我认为存在身份验证问题,但我不确定如何进一步调试

完整代码:

function onSubmit(e) {
  //Open Marketing - Discoveries and Changes - v1
  var sheet = e.range.getSheet();

  //Return Spreadsheet that contains this sheet
  var ss = sheet.getParent();

  //Open Marketing - Discoveries and Changes - v1
  var form = FormApp.openById(ss.getFormUrl());

  //Destination sheet based on "Location of Change"
  var destSheet = getSheet(ss, e.namedValue['Location of Change']);

  //Store response in destination sheet
  destSheet.appendRow(e.values);

  function getSheet( spreadsheet, sheetName, headings) {
    spreadsheet = SpreadsheetApp.getActive();
    var sheet = spreadsheet.getSheetByName(sheetName);
    if (sheet == null) {
      sheet = spreadsheet.insertSheet(sheetName);
      if (headings && headings.constructor === Array) {
        sheet.getRange(1,1,1, headings.length).setValues([headings]);
      }
    }
    return sheet;
  }

}

共有1个答案

储志业
2023-03-14

openById()ss的组合。getFormUrl()不正确。在基于表单响应向Google工作表添加选项卡的回答中,使用了openByUrl()

var form = FormApp.openByUrl(ss.getFormUrl());

如果要使用openById(),则需要从URL中提取ID。(请参阅谷歌应用程序脚本上从URL获取文件ID的最简单方法。)

 类似资料:
  • 冬眠5.2.12.1决赛 我想用CriteriaBuilder替换depreracted session.createCriteria(参见org.hibernate.Criteria),我有以下异常 在此ManagedType[com…DonneReference]上找不到具有给定名称[filtre]的属性 上: 其中(builder.equal(root.get(“filter”),filte

  • 我在我的spring boot应用程序中出现了这个错误。当我想调用这个存储库时,我遇到了这个错误 这是我的存储库: 这就是我称之为此方法的地方: 如何检查方法返回的结果?我调试了我的代码,但在断点它只是返回这个错误。 谢谢你的帮助。

  • 当我尝试使用findById()方法从数据库中获取单个记录时,或者当我尝试使用spring数据REST更新一篇文章时,我遇到了一个异常:找到了具有给定标识符的不止一行。 delete和findAll方法正常工作。 我已经检查了数据库,没有多个相同ID的记录。另外,id是数据库中的唯一键。我见过很多人有同样的错误,但这些人的问题是他们在哪里使用联接。我没有任何加入。 该实体: 存储库: 例外情况:

  • 当我尝试使用findById()方法从数据库中获取单个记录时,或者当我尝试使用spring数据REST更新一篇文章时,我遇到了一个异常:找到了具有给定标识符的不止一行。 delete和findAll方法正常工作。 我已经检查了数据库,没有多个相同ID的记录。另外,id是数据库中的唯一键。我见过很多人有同样的错误,但这些人的问题是他们在哪里使用联接。我没有任何加入。 该实体: 存储库: 例外情况:

  • 最近在一次工作面试中,我被要求在给定约束条件下求两个数组的最大和。这个问题措辞不同,但归结起来就是我上面所说的。没有提到元素是不同的,或者数组是被排序的。 例子: 请注意,由于约束,这与在2个数组中查找第k个最大和的对不同。 一个蛮力解是取2个数组的笛卡尔积,计算每对的和,过滤掉大于7000的,排序,取相等的顶值,时间复杂度为O(n2),我们能做的更好吗?

  • 我试图提供应用程序在Spring与懒惰取实体之间的关系。 模型"用户": “跟踪器”模型 继承了带有@EntityGraph的JPA存储库。通过这一点,我试图为select用户提供与以下相关的所有跟踪器: 存储库类: 和控制器: 查询“/customers/1”可以正常工作。它返回没有跟踪器的所有客户(相应地,延迟获取)。 但是"/顾客/1/with Tracker"返回以下异常: