【发布时间】:2021-03-21 23:40:07
【问题描述】:
我正在尝试将 ods 文件转换为 google 表格文件格式。但是,如果文件有点大(~ 2mb 到 3mb),它会开始多次出现以下问题
GoogleJsonResponseException:对 drive.files.insert 的 API 调用因内部错误而失败
我的代码使用 try catcth 继续尝试转换。它可以在多次尝试后转换,或者它甚至不转换
var ssOrige = DriveApp.getFileById(fileId)
var ssOrigeBlob = ssOrige.getBlob()
var ssName = ssOrige.getName()
var newFile = {
title : ssName.split('.')[0],
parents: [{id: folderDestinationId}]
}
var ssDestination = null
while(!ssDestination) {
try {
// Cria cópia do arquivo como gSheet
ssDestination = Drive.Files.insert(newFile, ssOrigeBlob, {convert: true})
} catch (e) {
Logger.log(e)
}
}
小文件也有同样的问题,但它们往往会更容易、更快地转换
我在驱动器上的一个文件夹中有一些 ods 文件。我通过 ID 获取 ods 文件并尝试将其转换为 google 表格格式。我使用 Google App Script 来获取文件并尝试进行转换。所以,我拿了一个已经在谷歌驱动器中的 ods 文件并尝试将其转换并保存在驱动器中
【问题讨论】:
-
为了测试和复制你的情况,你能提供一个样本
ods file吗? -
添加到@Tanaike 请求请尝试解释您到底在做什么。这是在 node.js 中执行的吗?你是用 js 从浏览器应用程序中获取文件吗?
-
@Raserhin 我在驱动器上的文件夹中有一些 ods 文件。我通过 ID 获取 ods 文件并尝试将其转换为 google 表格格式。我使用 Google App Script 来获取文件并尝试进行转换。所以,我拿了一个已经在谷歌驱动器中的 ods 文件,并尝试将其转换并保存在驱动器中
标签: javascript google-apps-script google-sheets ods