示例输出:
(第一次运行)
(第二次运行)
它将名称附加在第一列,将网址附加在第二列。
以 2 分钟的时间差跑,所以它重复了。但既然你的是时间触发的,这不应该发生。
我发现 this code 会提取超过 1 个月的文件并根据您的情况对其进行修改。还添加了第二个功能来填充您的谷歌表格。
代码:
// Fetches the files newer than 1 day
function oneDayOldFiles() {
var arrayOfFileURLs = [];
var arrayOfFileNames = [];
// Get folder ID where you want to search
var folderID = '0B55C21aJsSBlfk9FTjRqOG8tb3hjR1N4MTU1YjVPNU4weGVhSldfU3F4OXladVVNMF9Ccms';
// 3600 seconds = 1 hour, 1000 milliseconds = 1 second, 24 hours = 1 day
var within24hours = new Date().getTime() - (3600 * 1000 * 24);
var cutOffDate = new Date(within24hours);
var cutOffDateAsString = Utilities.formatDate(cutOffDate, "GMT", "yyyy-MM-dd");
// Create an array of files by date criteria
var files = DriveApp.getFolderById(folderID).searchFiles(
'modifiedDate > "' + cutOffDateAsString + '"');
while (files.hasNext()) {
var file = files.next();
theFileURL = file.getUrl();
theFileName = file.getName();
arrayOfFileURLs.push(theFileURL);
arrayOfFileNames.push(theFileName);
}
return [arrayOfFileNames, arrayOfFileURLs];
};
function appendLatestFiles() {
var [fileNames, fileURLs] = oneDayOldFiles();
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
var lastRow = sheet.getLastRow();
fileNames.forEach(function (name, index){
sheet.getRange((lastRow + 1) + index, 1).setValue(name);
sheet.getRange((lastRow + 1) + index, 2).setValue(fileURLs[index]);
});
}
请注意,这不仅限于 .jpg 文件(这会获取少于 24 小时的所有文件,因为您发布的所有文件都是 jpgs)
我没有包含它的条件。但是您可以轻松地将其添加到上面的代码中。
乍一看,您可以检查使用getMimeType() 获取mime 类型并添加一个if 条件,让您仅在mime 类型为image/jpeg 时推送文件