我想知道是否有可能在驱动器文件夹中检索最新文件的URL,然后将其发布到电子表格B列的单元格中。
然后还有其他部分,只有在A列的单词为“ YES”时,才应发布URL。因此,如果A的网址为“否”,则不需要URL。
完整的方案就是这样。
图片已上传到驱动器文件夹。
“是”输入到A1。
从理论上讲,这就是我希望它起作用的方式。但是我不知道它是否可以工作。
这是我用来将图片上传到云端硬盘的脚本:
function doGet(e) {
return message("Error: no parameters in doGet");
}
function doPost(e) {
if (!e.parameters.filename || !e.parameters.file || !e.parameters.imageformat) {
return message("Error: Bad parameters in doPost");
} else {
var imgf = e.parameters.imageformat[0].toUpperCase();
var mime =
(imgf == 'BMP') ? MimeType.BMP
: (imgf == 'GIF') ? MimeType.GIF
: (imgf == 'JPEG') ? MimeType.JPEG
: (imgf == 'JPG') ? MimeType.JPEG
: (imgf == 'PNG') ? MimeType.PNG
: (imgf == 'SVG') ? MimeType.SVG
: false;
if (mime) {
var data = Utilities.base64Decode(e.parameters.file, Utilities.Charset.UTF_8);
var blob = Utilities.newBlob(data, mime, e.parameters.filename);
DriveApp.getFolderById('Folder Id').createFile(blob);
return message("Success");
} else {
return message("Error: Bad image format");
}
}
}
function message(msg) {
return ContentService.createTextOutput(JSON.stringify({Result: msg })).setMimeType(ContentService.MimeType.JSON);
}
虽然这是我用于在A列中输入“是”或“否”的脚本:
function doGet(e) {
var ss = SpreadsheetApp.openByUrl("Sheet_URL");
var sheet = ss.getSheetByName("Sheet_Name");
addRecord(e,sheet);
}
function doPost(e) {
var ss = SpreadsheetApp.openByUrl("Sheet_URL");
var sheet = ss.getSheetByName("Sheet_Name");
addRecord(e,sheet);
}
function addRecord(e,sheet) {
var HvPict = e.parameter.HvPict;
sheet.appendRow([Hv.Pict]);
}
我可以像上面那样理解。如果我的理解是正确的,那么该示例脚本如何?请认为这只是几个可能的答案之一。
[在您的情况下,我认为可以使用类文件中的getDateCreated()
方法。那么下面的示例脚本呢?
function getLatestFile(folderId) {
var files = DriveApp.getFolderById(folderId).getFiles();
var fileObj = [];
while (files.hasNext()) {
var file = files.next();
fileObj.push({url: file.getUrl(), date: file.getDateCreated()});
}
fileObj.sort(function(a, b) {return new Date(b.date) - new Date(a.date)});
return fileObj[0].url;
}
function myFunction() {
var folderId = "###";
var lastFileUrl = getLatestFile(folderId);
Logger.log(lastFileUrl)
}
folderId
。该脚本检索folderId
文件夹中的文件。myFunction()
的功能时,将检索最新创建的文件的URL。getLastUpdated()
而不是getDateCreated()
。fileObj.sort(function(a, b) {return new Date(b.date) - new Date(a.date)});
。