我有一个包含近 2000 行 URL 的 Google 电子表格文件,例如:
https://docs.google.com/uc?id=0B4ptELk-D3USblk1aWd1OWowRWs
每个 URL 包含一个图像,存储在 Google Drive 中。我的问题是:如何将此链接 ( https://docs.google.com/uc?id=0B4ptELk-D3USblk1aWd1OWowRWs
) 转换为文件名?例如,我想知道它是否可以是/something/folder/Photofile1.jpg
.
反正有这样做吗?
尝试脚本:
function TESTgetFileName() {
Logger.log(getFileName('0B4ptELk-D3USVi1NZ3ZGbkhqYXc'));
// ^^^^^^^^^^ file ID ^^^^^^^^^
}
function getFileName(id) {
var file = DriveApp.getFileById(id);
var fileName = file.getName();
var strFolders = getFolders(file);
return strFolders + '/' + fileName;
}
function getFolders(object) {
var folders = object.getParents();
if (!folders.hasNext()) { return 'My Drive'; }
var folder = folders.next();
var folderNames = [];
while (folder.getParents().hasNext()) {
var folderName = folder.getName();
folderNames.unshift(folderName);
folder = folder.getParents().next();
}
return folderNames.join('/');
}
脚本函数将返回结果:
0B4ptELk-D3USVi1NZ3ZGbkhqYXc → My Drive/something/folder/Photofile1.jpg
测验
我打开脚本编辑器,选择函数TESTgetFileName
并得到结果
My Drive/Detalhes_Farmacia.Fotografia_Fachada_1.JPEG
。
此函数可以从脚本运行,而不是直接从电子表格运行。当您尝试将其用作图纸中的自定义公式时,会引发错误:
您无权调用 getFileById(第 8 行)。
所以最好从脚本中使用它来获取数据,然后将结果写入工作表。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句