有没有办法从 Apps 脚本 URL 查找 Google 表格文件?

问题描述 投票:0回答:2

我们丢失了一个非常重要的文件,其中包含数百个测验问题。 (我们是老师)。但是,学生参加测验的应用程序仍然从该文件中提取信息,因此我们相信它不会丢失。 Google 表格的 Apps 脚本内有代码,可以发送随机选择的问题并向每个学生发送不同版本的测验。

这是应用程序脚本的链接:

https://script.google.com/macros/s/AKfycbwpRjyuBqQF_DuBOVALz1OqiMu37v9v0wC5NahW-e0TCoAbTR27jJl3Lshjrd424Ds/exec

有谁知道如何对该网址进行反向工程,以便我们可以获得原始 Google 表格文件的网址?

非常感谢您的帮助!

我们尝试将代码粘贴到 Macros/s/(...) 显然这不起作用。

google-apps-script web-applications
2个回答
0
投票

可能无法对 URL 进行逆向工程。如果您拥有部署脚本的 Google 帐户,则该脚本的所有执行都会记录在此处:

https://script.google.com/home/executions?user_access_level=1.2.3.4

如果您可以访问部署 Web 应用程序的脚本,则可以直接从其信息页面访问容器。


-1
投票
function getFilePathFromIdOrUrl() {
  const resp = SpreadsheetApp.getUi().prompt("Path from Id or Url", "Enter Id or Url", SpreadsheetApp.getUi().ButtonSet.OK_CANCEL)
  if (resp.getSelectedButton() == SpreadsheetApp.getUi().Button.OK) {
    const id = resp.getResponseText();
    if (id) {
      var s = id.slice(0, 6);
      if (s != 'https:') {
        var file = DriveApp.getFileById(id);
      } else {
        var file = DriveApp.getFileById(id.slice(id.indexOf('/d/') + 3, id.indexOf('/edit')));
      }
      var pA = [];
      pA.push(file.getName());
      var folder = file.getParents();
      while (folder.hasNext()) {
        var f = folder.next();
        pA.push(f.getName());
        folder = f.getParents()
      }
      var path = pA.reverse().join(' / ');
      SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(path), 'Path for: ' + file.getName());
      //return path;
    } else {
      SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput('Error: Invalid Input: No id.'), "getFilePathFromId Error")
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.