通过文档和工作表 API 将 google 工作表中的选择复制/粘贴到 google 文档中?
Copy / paste selection from google sheets into google docs via docs and sheets API?
我想通过我的 node.js 后端服务将选择从 google sheet 文档传输到 google docs 文档。我希望 google 文档 API 支持此功能,但我找不到所需的确切步骤。
为了可视化我想做的事情,我在网络上截取了一个简单的屏幕截图 UI,它准确地显示了需要发生的事情 - 只是不是手持式的,而是在我的后端服务中自动执行的:
据我了解,google 网络应用程序几乎使用与向开发人员公开的完全相同的 API,所以我希望这里有人可以告诉我具体的请求是什么这会发生。
这个问题有点类似:Copy selection from Google Sheets into a Google Doc (using REST API?) 但是它已有 4 年多的历史了,并没有引起太多关注,同时 API 也发生了很多事情。此外,我对使用应用程序脚本不感兴趣,答案建议这样做。
我相信你的目标如下。
- 您想从 Google 电子表格复制值并将它们作为 table.
粘贴到 Google 文档
- 您想使用 Node.js 的 googleapis 实现此目的。
- 您已经可以通过 Node.js 使用表格 API 和文档 API。
如果我的理解是正确的,下面的示例脚本怎么样?
我和你的情况一样。但遗憾的是,当时我觉得这个过程可能有点复杂。所以我创建了一个 Node.js 的库来实现这一点。此示例脚本使用该库。 Ref
用法:
1。安装库。
$ npm install --save-dev gdoctableapp
或
$ npm install --global gdoctableapp
2。准备脚本。
在此示例脚本中,请在您的脚本中使用您的 auth
。 auth
与 Node.js 的快速入门相同。 Ref 但在这种情况下,请设置 https://www.googleapis.com/auth/spreadsheets.readonly
和 https://www.googleapis.com/auth/documents
的范围。
const gdoctableapp = require("gdoctableapp"); // This is the library.
const spreadsheetId = "###"; // Please set your Spreadsheet ID.
const documentId = "###"; // Please set your Document ID.
const sheets = google.sheets({ version: "v4", auth });
const { data } = await sheets.spreadsheets.values.get({ spreadsheetId, range: "'Sheet1'!A1:C3" }).catch((e) => console.log(e));
const values = data.values;
gdoctableapp.CreateTable(
{
auth,
documentId,
values,
rows: values.length,
columns: values[0].length,
append: true,
},
(err, res) => {
if (err) {
console.log(err);
return;
}
console.log(res);
}
);
- 当此脚本为 运行 时,将从单元格
'Sheet1'!A1:C3
中检索值并将其作为 table 放入 Google 文档。在这种情况下,table 附加到 Google 文档。
节点:
- 此示例脚本假定您已经能够使用表格 API 和文档 API,并检索使用 API 的访问令牌。所以请注意这一点。
参考文献:
我想通过我的 node.js 后端服务将选择从 google sheet 文档传输到 google docs 文档。我希望 google 文档 API 支持此功能,但我找不到所需的确切步骤。
为了可视化我想做的事情,我在网络上截取了一个简单的屏幕截图 UI,它准确地显示了需要发生的事情 - 只是不是手持式的,而是在我的后端服务中自动执行的:
据我了解,google 网络应用程序几乎使用与向开发人员公开的完全相同的 API,所以我希望这里有人可以告诉我具体的请求是什么这会发生。
这个问题有点类似:Copy selection from Google Sheets into a Google Doc (using REST API?) 但是它已有 4 年多的历史了,并没有引起太多关注,同时 API 也发生了很多事情。此外,我对使用应用程序脚本不感兴趣,答案建议这样做。
我相信你的目标如下。
- 您想从 Google 电子表格复制值并将它们作为 table. 粘贴到 Google 文档
- 您想使用 Node.js 的 googleapis 实现此目的。
- 您已经可以通过 Node.js 使用表格 API 和文档 API。
如果我的理解是正确的,下面的示例脚本怎么样?
我和你的情况一样。但遗憾的是,当时我觉得这个过程可能有点复杂。所以我创建了一个 Node.js 的库来实现这一点。此示例脚本使用该库。 Ref
用法:
1。安装库。
$ npm install --save-dev gdoctableapp
或
$ npm install --global gdoctableapp
2。准备脚本。
在此示例脚本中,请在您的脚本中使用您的 auth
。 auth
与 Node.js 的快速入门相同。 Ref 但在这种情况下,请设置 https://www.googleapis.com/auth/spreadsheets.readonly
和 https://www.googleapis.com/auth/documents
的范围。
const gdoctableapp = require("gdoctableapp"); // This is the library.
const spreadsheetId = "###"; // Please set your Spreadsheet ID.
const documentId = "###"; // Please set your Document ID.
const sheets = google.sheets({ version: "v4", auth });
const { data } = await sheets.spreadsheets.values.get({ spreadsheetId, range: "'Sheet1'!A1:C3" }).catch((e) => console.log(e));
const values = data.values;
gdoctableapp.CreateTable(
{
auth,
documentId,
values,
rows: values.length,
columns: values[0].length,
append: true,
},
(err, res) => {
if (err) {
console.log(err);
return;
}
console.log(res);
}
);
- 当此脚本为 运行 时,将从单元格
'Sheet1'!A1:C3
中检索值并将其作为 table 放入 Google 文档。在这种情况下,table 附加到 Google 文档。
节点:
- 此示例脚本假定您已经能够使用表格 API 和文档 API,并检索使用 API 的访问令牌。所以请注意这一点。