无法使用 Google 驱动器 Api 复制文件和转换 MIME 类型

Can't copy file and convert mime type with Google Drive Api

我在我的驱动器中成功创建了一个新的 google 文档,但现在我想将文件类型从 'application/msword' 更改为 'application/vnd.google-apps.document'。

我尝试使用此处的答案来复制文件,但它不起作用:

我的代码和上面的问题类似

在我将文档创建为 msword 之后,我试图制作一个简单的副本以将其转换为 google 文档。

drive.files.create({
    requestBody: body.requestBody,
    fields: 'id',
  }, function (err: any, file: any) {
    if (err) {
      console.error(err);
    } else {


      drive.files.copy(
        {
          fileId:  file.data.id,
          requestBody: {  // You can also use "resource" instead of "requestBody".
            name: 'copy',
            mimeType: "application/vnd.google-apps.document"
          }
        },
        (err, res) => {
          if (err) return console.log("The API returned an error: " + err);
          console.log(res.data);  // If you need, you can see the information of copied file.
        }
      );


    }

我遇到的错误是

Conversion of the uploaded content to the requested output type is not supported.

感谢任何帮助,谢谢!

在使用来自 Microsoft Office 的不同 mime types 进行一些测试后,Google Drive 的 Office 编辑模式似乎无法读取空白文件,因此您收到了错误消息。

如果我没记错的话,Google Drive 更改文件格式的方式是他们需要先打开文件才能读取信息并更改格式。但是,在这种情况下 Google Drive 将这些空白文件识别为损坏的文件,无法使用 Office 编辑模式打开它们。

这看起来像是预期的行为,但也可以被视为此特定功能的错误。我会建议您 post 在 Google Issue Tracker 中提出您的问题,并解释您到目前为止所做的行为和测试,以便您可以确认这是正常情况还是来自 Office 编辑模式的错误。

参考: