使用 API 通过 Nodejs 使用 Drive.files.copy 将 Word 文档转换为 Google 文档 在 Google Drive API v3 中进行转换

2023-12-25

我正在尝试通过 Node.js 使用 API 将 Word 文档转换为 Google 文档。单词文档已经在一个文件夹中,我只想将它们转换为谷歌文档。我正在使用v3。

The v3 docs https://developers.google.com/drive/api/v2/v2-to-v3-reference?hl=vi假设为了使用副本转换文件,您需要将转换参数替换为资源主体中的 mimeType。

我不知道该怎么做?

function listFiles(auth) {
  const drive = google.drive({version: 'v3', auth});
  drive.files.list({
    q: "mimeType = 'application/msword'",
    pageSize: 100,
    fields: 'nextPageToken, files(id, name)',
  }, (err, res) => {
    if (err) return console.log('The API returned an error: ' + err);
    const files = res.data.files;
    if (files.length) {
      console.log('Files:');
      files.map((file) => {
        console.log(`${file.name} (${file.id})`);
        drive.files.copy({
          fileId: file.id,
          'name' : 'Updated File Name',
          'mimeType' : 'application/vnd.google-apps.document'
        })
      });
    } else {
      console.log('No files found.');
    }
  });
}

不确定我是否完全理解如何引用资源主体。会感激一头牛吗?


  • 您想要使用 Drive API v3 中的 files.copy 方法将 Microsoft Word(doc 文件)转换为 Google 文档。
  • 您希望使用 googleapis 和 Node.js 来实现此目的。
  • 您已经能够使用 Drive API 获取和放置 Google Drive 的文件。

如果我的理解是正确的,这个答案怎么样?请将此视为几个可能答案之一。

修改要点:

  • 我觉得drive.files.list()在你的脚本中工作。
  • I think that drive.files.copy() has a modification part.
    • 请包括name and mimeType in requestBody or resource.
    • 在这种情况下,它使用回调函数来检索错误消息。

修改后的脚本:

From:
drive.files.copy({
  fileId: file.id,
  'name' : 'Updated File Name',
  'mimeType' : 'application/vnd.google-apps.document'
})
To:
drive.files.copy(
  {
    fileId: file.id,
    requestBody: {  // You can also use "resource" instead of "requestBody".
      name: file.name,
      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.
  }
);
  • 在这种情况下,通过删除扩展名来使用 DOC 文件的文件名。并将复制的文件与DOC文件放在同一文件夹中。

Note:

  • 在此修改后的脚本中,假设您设置的范围可用于使用drive.files.copy()。如果出现与范围相关的错误,请添加https://www.googleapis.com/auth/drive到范围。

参考:

  • 文件:复制 https://developers.google.com/drive/api/v3/reference/files/copy

如果我误解了你的问题并且这不是你想要的方向,我很抱歉。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 API 通过 Nodejs 使用 Drive.files.copy 将 Word 文档转换为 Google 文档 在 Google Drive API v3 中进行转换 的相关文章

随机推荐

  • Plotly:如何为所有子图设置xticks?

    我无法操纵所有子图上的 xticks 我正在使用的 xticks 方法 根据文档 仅更改最顶层子图的 xticks 如何更改下部子图的 xticks 下面是我的代码 fig make subplots rows 2 cols 1 fig a
  • PostgreSQL:如何索引所有外键?

    我正在使用一个大型 PostgreSQL 数据库 并且正在尝试调整它以获得更高的性能 我们的查询和更新似乎使用外键进行了大量查找 我想要的是一种相对简单的方法来向所有外键添加索引 而不必遍历每个表 140 并手动执行 在研究这个问题时 我发
  • 处理来自 ADFS 的 JWT 不记名令牌

    我正在测试一个 Web 应用程序 API 该 API 使用 X509 证书对 ADFS 服务器进行身份验证 为了使用空手道运行测试 我目前使用一个小型 NET 应用程序 该应用程序使用我安装的证书协商 JWT 进行 SSO 然后 我从 Fi
  • Javascript 相当于 iOS 的“tap”事件,但适用于 Android

    我正在使用 jqtouch 制作一个触摸优化网站 对于 iOS 我将 tap 绑定到点击侦听器 但这不会在 Android 中注册 我尝试使用 touchend 它可以工作 但它会覆盖任何类型的拖动 当用户试图做的只是滚动时单击项目 对于
  • C# 中的锁定关键字

    我从MSDN上了解到lock关键字的主要作用 lock 语句 C 参考 lock 关键字标记一条语句 块作为关键部分 获取互斥锁 对于给定的对象 执行 声明 然后发布 锁 什么时候应该使用锁 例如 它对于多线程应用程序很有意义 因为它可以保
  • 如何在 C# 中使网页浏览器控件变为空白?

    最初 当网络浏览器刚刚加载到表单上时 它是空白的 即白色 一旦我们进入某个特定网站 有没有办法让它再次变成空白 我尝试过这些方法 但没有找到一种可以实现这一点的方法 还有其他方法还是我错过了什么 尝试一下 webBrowser1 Navig
  • 使用“”的不可重现的随机数

    我正在尝试创建一个类 为多个分布生成随机数 同时保持它们的可重复性 通过设置初始种子 该代码似乎有效 直到我开始使用正态分布和奇怪的错误表面 这些主要是 如果我取消注释double a rnd rnorm 0 0 1 0 line 第40行
  • 项目模板中的列表视图视觉状态管理器(WinRT、Metro、XAML)

    我正在尝试获取一个列表视图来显示由文本块组成的项目列表 当单击列表视图项目时 我想显示一个由文本框组成的列表 以下是我想出来的 它不起作用 我在模板中有两个网格 希望根据是否选择列表视图项来简单地显示和隐藏网格 我哪里出错了 我从列表视图的
  • Qt 3D 数组与 QVector 等 Qt-Objekts

    如何仅使用 Qt Objects 创建 3D 数组 该数组应该是 3D 整数数组 我尝试在堆上创建一个标准的 3D 数组 在堆上分配内存效果很好 如果我想释放内存 我会遇到错误 const int scalefaktor 16 int an
  • 为什么 IOS5 中不推荐使用 Accelerometer:didAccelerate: ?

    iOS5的发布就有这个核心功能列为已弃用 https developer apple com library prerelease ios documentation UIKit Reference UIAccelerometerDeleg
  • 以编程方式运行散景服务器以在本地浏览器中显示

    我正在进行交互式数据操作bokeh 0 12 6 我将在包中部署的实用程序 这个想法是用户可以运行一些例程module utility 这将启动散景服务器 在浏览器中启动应用程序 当选项卡或浏览器关闭时 服务器将停止 如果我运行 我的应用程
  • 如何在 Pentaho BI 服务器 v6 CE 上部署计划的 Kettle 作业

    我有一台运行 Pentaho BI 服务器 v6 社区版的服务器 我们开发了一项 Kettle 作业 用于从一个数据库提取到另一个数据库 并导出为 KJB 文件 我想每 12 个小时左右运行一次这项工作 我注意到BI服务器已经包含了Kett
  • 如何在没有互联网连接的情况下本地安装 NodeJS 项目?

    我有一个项目 必须将其部署到无法连接到互联网的客户端 Windows 系统 我目前在 D NODE 中有一个文件夹 其中包含 node exe 和 npm cmd 以及一个 node modules 文件夹 为了能够从命令行运行节点 我已将
  • .htaccess 文件的位置

    var www html My project folder 是我的项目的路径 我没有找到 htaccess 文件 我想粘贴我编辑的 htaccess 文件 但我不确定我需要放在哪个位置 我的 htaccess 文件代码是
  • Bash 脚本中的 SSH 搞乱了文件读取 [重复]

    这个问题在这里已经有答案了 我有一个脚本 可以逐行读取文件 并根据读取的内容执行操作 它所做的事情之一是通过 ssh 连接到远程服务器并获取一些信息 由于某种完全超出我能力范围的原因 这会停止从文件中读取行 该脚本本质上是 我已经删除了很多
  • 寻找Python字典中最大的键

    General 我需要帮助在 python 中找到一种方法来获得最大值N多维Python字典中的项目 例如 things car weight 100 apple weight 1 spanner weight 10 在这种情况下 我想找到
  • JavaFX WebView 进度始终从 0.0 到 1.0。 (无中间值)

    我目前正在使用 GluonHQ JavaFXPorts 开发一个应用程序 其中我使用 WebView 加载一些 Internet 页面 我注意到当我在桌面上使用以下代码时 webEngine getLoadWorker progressPr
  • undefined 不是一个对象(评估 'ImagePickerManager.showImagePicker')

    我正在尝试使用react native image picker 但卡在这里 它总是显示错误 如下图所示 undefined 不是一个对象 评估 ImagePickerManager showImagePicker 有人遇到过这个问题吗 我
  • 使用 Python 的函数返回值为 shell 变量赋值

    我有一个 Python 函数 fooPy 它返回一些值 整数 双精度或字符串 我想使用这个值并在 shell 脚本中分配它 例如以下是 python 函数 def fooPy return some string return 10 alt
  • 使用 API 通过 Nodejs 使用 Drive.files.copy 将 Word 文档转换为 Google 文档 在 Google Drive API v3 中进行转换

    我正在尝试通过 Node js 使用 API 将 Word 文档转换为 Google 文档 单词文档已经在一个文件夹中 我只想将它们转换为谷歌文档 我正在使用v3 The v3 docs https developers google co