我正在尝试将我的Google云端硬盘中的所有Office文件(例如Word文档,Excel电子表格,PowerPoint演示文稿等)转换为他们的Google doc等效文件。
我正在使用Google Apps脚本中的高级云端硬盘服务来执行此任务。
我的实施如下:
function convert() {
var targetFolder_1 = DriveApp.getFoldersByName('Office Folder');
var targetFolder = targetFolder_1.next();
var folderGoogify_1 = DriveApp.getFoldersByName('Empty Folder');
var folderGoogify = folderGoogify_1.next();
var counter = 0;
var files = targetFolder.getFiles();
var folderID = targetFolder.getId();
while (files.hasNext()) {
var nextFile = files.next();
var blob = nextFile.getBlob();
var fileName = nextFile.getName();
var file = {
title: fileName,
"parents": [{
"kind": "drive#parentReference",
"id": folderID
}]
};
file = Drive.Files.insert(file, blob, {
convert: true
});
counter++;
folderGoogify.addFile(file);
}
}
但是,在最后一行,我收到以下错误:
Cannot convert [object Object] to File.
如何调整我的代码,以便将转换后的文件识别为文件,而不是对象?
答案 0 :(得分:0)
您需要使用类似
的内容创建文档 SpreadsheetApp.create("Example File Name")
这将创建电子表格。您正在尝试将信息添加到对象而不是文件,这会将其添加到文件中。
Google Sheets Script Error - Cannot convert [object Object] to Spreadsheet
答案 1 :(得分:0)
Drive.Files.insert()
的响应是JSON数据。这不是文件。所以发生这样的错误。当您看到使用file
的{{1}}时,您可以看到JSON数据。Logger.log(file)
为"parents": [{id: folderid}]
。folderGoogify
。修改后的脚本反映如下。
addFile()
如果我误解了你的问题,我很抱歉。