使用应用程序脚本按 ID 检索驱动器文件信息
Retrieve drive file information by ID with appscript
检索 Google 个驱动文件的驱动文件信息并在 Google 中列出 Sheet
我希望使用 appscript 通过文件 ID 列表查找所有者、文件创建日期、驱动器文件的当前共享设置,文件 ID 在 A 列中逐行列出 sheet 并且结果将在行中的单独列中打印信息(B 列为所有者,C 列为创建日期,D 列为当前共享设置)。
这可能吗?
我相信你的目标如下。
- 您想从 Spreadsheet 的“A”列中检索文件 ID,并希望检索所有者的电子邮件、创建日期、当前共享设置([=12= 的值]) 并将其放入“B”、“C”和“D”列。
- 您想使用 Google Apps 脚本实现此目的。
在这种情况下,下面的示例脚本怎么样?
示例脚本:
请将以下脚本复制粘贴到Spreadsheet的脚本编辑器中。并且,请在脚本编辑器中设置 sheet 名称和 运行 myFunction
。
function myFunction() {
const sheetName = "Sheet1"; // Please set the sheet name.
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
const lastRow = sheet.getLastRow();
if (lastRow == 0) return;
const range = sheet.getRange("A1:A" + lastRow);
const values = range.getValues().map(([id]) => {
try {
const file = DriveApp.getFileById(id);
const owner = file.getOwner();
const createdDate = file.getDateCreated();
const sharing = file.getSharingAccess().toString();
return [owner ? owner.getEmail() : "", createdDate, sharing];
} catch (e) {
console.log(e.message)
return Array(3).fill("");
}
});
range.offset(0, 1, values.length, values[0].length).setValues(values);
}
当此脚本为运行时,从“A”列检索文件 ID,所有者(电子邮件地址),创建日期,文件的共享设置为检索,这些值来自“B”列。
无法检索到owner时,放空值
注:
- 在这个示例脚本中,根据您的问题,它假定文件 ID 被放入“A”列。如果“A”列不是文件 ID,则无法检索文件元数据。请注意这一点。
参考文献:
检索 Google 个驱动文件的驱动文件信息并在 Google 中列出 Sheet
我希望使用 appscript 通过文件 ID 列表查找所有者、文件创建日期、驱动器文件的当前共享设置,文件 ID 在 A 列中逐行列出 sheet 并且结果将在行中的单独列中打印信息(B 列为所有者,C 列为创建日期,D 列为当前共享设置)。
这可能吗?
我相信你的目标如下。
- 您想从 Spreadsheet 的“A”列中检索文件 ID,并希望检索所有者的电子邮件、创建日期、当前共享设置([=12= 的值]) 并将其放入“B”、“C”和“D”列。
- 您想使用 Google Apps 脚本实现此目的。
在这种情况下,下面的示例脚本怎么样?
示例脚本:
请将以下脚本复制粘贴到Spreadsheet的脚本编辑器中。并且,请在脚本编辑器中设置 sheet 名称和 运行 myFunction
。
function myFunction() {
const sheetName = "Sheet1"; // Please set the sheet name.
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
const lastRow = sheet.getLastRow();
if (lastRow == 0) return;
const range = sheet.getRange("A1:A" + lastRow);
const values = range.getValues().map(([id]) => {
try {
const file = DriveApp.getFileById(id);
const owner = file.getOwner();
const createdDate = file.getDateCreated();
const sharing = file.getSharingAccess().toString();
return [owner ? owner.getEmail() : "", createdDate, sharing];
} catch (e) {
console.log(e.message)
return Array(3).fill("");
}
});
range.offset(0, 1, values.length, values[0].length).setValues(values);
}
当此脚本为运行时,从“A”列检索文件 ID,所有者(电子邮件地址),创建日期,文件的共享设置为检索,这些值来自“B”列。
无法检索到owner时,放空值
注:
- 在这个示例脚本中,根据您的问题,它假定文件 ID 被放入“A”列。如果“A”列不是文件 ID,则无法检索文件元数据。请注意这一点。