Google apps script 有没有办法将Gmail附件保存为MP4?
我试图将Gmail附件保存为MP4文件,但出现以下错误: 例外:不支持从应用程序/x-msdownload转换为视频/mp4。(第138行,文件“代码”) 代码如下:Google apps script 有没有办法将Gmail附件保存为MP4?,google-apps-script,Google Apps Script,我试图将Gmail附件保存为MP4文件,但出现以下错误: 例外:不支持从应用程序/x-msdownload转换为视频/mp4。(第138行,文件“代码”) 代码如下: function saveAttachment(attachment, path) { var parts = path.split('/'); var file = parts.pop(); var path = parts.join('/'); var folder = getOrMakeFolder(p
function saveAttachment(attachment, path) {
var parts = path.split('/');
var file = parts.pop();
var path = parts.join('/');
var folder = getOrMakeFolder(path);
var check = folder.getFilesByName(file);
if(check.hasNext()) {
Logger.log(path + '/' + file + ' already exists. File not overwritten.');
return;
}
var blobFile = attachment.copyBlob();
var videoFile = blobFile.getAs('video/mp4')
folder.createFile(VideoFile).setName(file);
Logger.log(path + '/' + file + ' saved.');
Logger.log(attachment);
}
我在这个主题中找到了一个有效的解决方案: 解决办法是:
function saveAttachment(attachment, path) {
var parts = path.split('/');
var file = parts.pop();
var path = parts.join('/');
var folder = getOrMakeFolder(path);
var check = folder.getFilesByName(file);
if(check.hasNext()) {
Logger.log(path + '/' + file + ' already exists. File not overwritten.');
return;
}
var videoFile = attachment.setContentType("video/mp4");
folder.createFile(videoFile).setName(file);
Logger.log(path + '/' + file + ' saved.');
Logger.log(attachment);
}
我在这个主题中找到了一个有效的解决方案: 解决办法是:
function saveAttachment(attachment, path) {
var parts = path.split('/');
var file = parts.pop();
var path = parts.join('/');
var folder = getOrMakeFolder(path);
var check = folder.getFilesByName(file);
if(check.hasNext()) {
Logger.log(path + '/' + file + ' already exists. File not overwritten.');
return;
}
var videoFile = attachment.setContentType("video/mp4");
folder.createFile(videoFile).setName(file);
Logger.log(path + '/' + file + ' saved.');
Logger.log(attachment);
}
在多个附件之间循环时,您需要确保只检索正确数据类型的附件,您可以使用
if
语句:
函数保存附件(附件/*,路径*/){
var parts=path.split('/');
var file=parts.pop();
var path=parts.join('/');
var folder=getOrMakeFolder(路径);
var check=folder.getFilesByName(文件);
if(检查.hasNext()){
Logger.log(路径+'/'+文件+'已存在。文件未被覆盖');
返回;
}
//检查附件的类型是否正确
如果(附件.getContentType()=='video/mp4'){
var blobFile=attachment.copyBlob();
var videoFile=blobFile.getAs('video/mp4')
DriveApp.createFile(videoFile).setName(“文件”);
folder.createFile(VideoFile).setName(file);
Logger.log(路径+'/'+文件+'已保存');
Logger.log(附件);
}
}
在多个附件之间循环时,您需要确保只检索正确数据类型的附件,如果语句:
函数保存附件(附件/*,路径*/){
var parts=path.split('/');
var file=parts.pop();
var path=parts.join('/');
var folder=getOrMakeFolder(路径);
var check=folder.getFilesByName(文件);
if(检查.hasNext()){
Logger.log(路径+'/'+文件+'已存在。文件未被覆盖');
返回;
}
//检查附件的类型是否正确
如果(附件.getContentType()=='video/mp4'){
var blobFile=attachment.copyBlob();
var videoFile=blobFile.getAs('video/mp4')
DriveApp.createFile(videoFile).setName(“文件”);
folder.createFile(VideoFile).setName(file);
Logger.log(路径+'/'+文件+'已保存');
Logger.log(附件);
}
}
您是否将此代码应用于收件箱中的特定附件或所有附件?我循环使用多个附件,但这部分代码是用于将文件保存到GDrive中的代码。您是否将此代码应用于收件箱中的特定附件或所有附件?我循环使用多个附件,但这部分代码是无效的用于在GDrive中保存文件的文件。谢谢,我将尝试先检查是否为MP4文件,然后保存它。谢谢,我将尝试先检查是否为MP4文件,然后保存它。