我们丢失了一个非常重要的文件,其中包含数百个测验问题。 (我们是老师)。但是,学生参加测验的应用程序仍然从该文件中提取信息,因此我们相信它不会丢失。 Google 表格的 Apps 脚本内有代码,可以发送随机选择的问题并向每个学生发送不同版本的测验。
这是应用程序脚本的链接:
有谁知道如何对该网址进行反向工程,以便我们可以获得原始 Google 表格文件的网址?
非常感谢您的帮助!
我们尝试将代码粘贴到 Macros/s/(...) 显然这不起作用。
可能无法对 URL 进行逆向工程。如果您拥有部署脚本的 Google 帐户,则该脚本的所有执行都会记录在此处:
https://script.google.com/home/executions?user_access_level=1.2.3.4
如果您可以访问部署 Web 应用程序的脚本,则可以直接从其信息页面访问容器。
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")
}
}
}