谷歌表单文件上传:获取文件名而不是文件链接



我有一个简单的谷歌表单,它有一个文件上传选项。上传的文件保存在我的云端硬盘文件夹中。然后,我有一个简单的脚本,该脚本在表单提交时执行,以将表单值(上传文件名,名称和电子邮件(保存到文本文件中。这是我的应用程序脚本来执行此操作:

function onSubmit(e)
{
var file = e.values[1]; // getting the link instead of the filename 
var name = e.values[2];
var email = e.values[3];
var folderId = "0B6de05UZOb0y1ck4tV3BPWldpMU14SGZncnlHa0tzTXVoZFk";
var folder = DriveApp.getFolderById(folderId);
var content = file + "n" + name + "n" + email + "n"
var file = folder.createFile('My File.txt', content, MimeType.PLAIN_TEXT);  
}

以下是输出文件My File.txt的外观:

https://drive.google.com/open?id=1bVbNAnES33oY4gx8npdp51ZSMekQalk
My Name
my@email.com

我的问题是 - 我想要实际的文件名,而不是指向上传文件的链接。有没有办法从表单响应参数e获取文件名?

如果你有文件 ID,你可以使用 getName(( 方法获取文件名。

文档

function driveFile(){
//e.values[1] is apparently the file URL 
var url = "https://drive.google.com/open?id=1bVbNAnES33oY4gx8npdp51ZSMekQalk"
var id = url.split("=")[1];
var file = DriveApp.getFileById(id);
var fileName = file.getName();
}

最新更新