Node.js 使用Node创建带有内置对象的Google文档
我看到了下面关于如何使用Node创建GoogleDoc实例的帖子 但是我还想传递一个对象,这样当google文档被创建时,它将该对象存储在它的环境中。有没有一种方法可以通过以下参数之一传递对象来实现Node.js 使用Node创建带有内置对象的Google文档,node.js,google-docs,Node.js,Google Docs,我看到了下面关于如何使用Node创建GoogleDoc实例的帖子 但是我还想传递一个对象,这样当google文档被创建时,它将该对象存储在它的环境中。有没有一种方法可以通过以下参数之一传递对象来实现 DRIVE.files.create({ resource: { name: fileName, mimeType: fileType }, media: { mimeType: fileT
DRIVE.files.create({
resource: {
name: fileName,
mimeType: fileType
},
media: {
mimeType: fileType,
body: fileContent
}
}
任何帮助都将不胜感激- 您希望通过将GoogleApps脚本包含为容器绑定脚本来创建新的Google文档。
- 作为示例情况,您希望包含
var obj={foo“:”bar}
- 作为示例情况,您希望包含
- 您希望通过Node.js使用googleapis实现这一点
- 根据您的问题,我认为您已经在API控制台启用了驱动API
https://www.googleapis.com/auth/drive
和https://www.googleapis.com/auth/script.projects
sample.txt
的文件名。因为脚本中使用了媒体
- 运行此示例脚本时,新的Google文档将创建为
的文件名,新的GAS项目将创建为sampleDocument
的项目名。sampleGASProject
- 脚本完成后,您可以在根文件夹中看到新的Google文档。打开Google文档并打开脚本编辑器时,可以看到
的脚本var obj={“foo”:“bar”}
- 脚本完成后,您可以在根文件夹中看到新的Google文档。打开Google文档并打开脚本编辑器时,可以看到
- 如果您使用的是服务帐户,很遗憾,GAS项目无法使用服务帐户进行管理。请小心这个。所以请使用OAuth2
在我的环境中,我可以确认示例脚本工作正常。但如果这在你的环境中不起作用,我道歉。此时,请检查API是否已启用和/或其他环境。如果我误解了你的问题,而这不是你想要的方向,我向你道歉。我可以问一下你的问题吗?您希望使用带有Node.js的googleapis创建新的Google文档。那时,你想把一些文本放到Google文档中。我的理解正确吗?在你的脚本中,你已经能够创建新的Google文档了吗?你所说的
是什么意思?我还想通过一个对象,所以当Google文档被创建时,它将该对象存储在它的环境中
?@Tanaike不太清楚。我希望该对象存储在Google Doc应用程序脚本中。假设在节点中,我有一个对象var obj={“foo”:“bar”}。当Node创建新的googledoc实例时,我希望它在googledoc应用程序脚本中写入相同的对象。因此,当我打开google文档并转到它的脚本编辑器时,{“foo”:“bar”}已经在那里了。希望这能澄清一些事情。谢谢你们两位审阅我的帖子。我衷心感谢你们的全面回复!我将在未来几天内尝试这一点,并随时向您通报进展情况。非常感谢您为我指明了正确的方向。@Drive2blue谢谢您的回复。在我的环境中,我可以确认示例脚本工作正常。但如果这在你的环境中不起作用,我道歉。这就像魔术一样奏效!!你是个天才,先生!再次感谢您提供的具体、直观的建议。@Drive2blue感谢您的回复和测试。我很高兴你的问题解决了。也谢谢你。
const drive = google.drive({ version: "v3", auth });
const script = google.script({ version: "v1", auth });
drive.files.create(
{
requestBody: {
name: "sampleDocument",
mimeType: "application/vnd.google-apps.document"
},
media: {
mimeType: "text/plain",
body: fs.createReadStream("./sample.txt")
}
},
(err, res) => {
if (err) {
console.error(err);
return;
}
script.projects.create(
{
requestBody: {
title: "sampleGASProject",
parentId: res.data.id
}
},
(err, res) => {
if (err) {
console.log(err);
return;
}
script.projects.updateContent(
{
scriptId: res.data.scriptId,
auth,
resource: {
files: [
{
name: "Code",
type: "SERVER_JS",
source: 'var obj = {"foo":"bar"}\n'
},
{
name: "appsscript",
type: "JSON",
source:
'{"timeZone":"America/New_York","exceptionLogging":"STACKDRIVER"}'
}
]
}
},
(err, res) => {
if (err) {
console.log(err);
return;
}
console.log("Done.");
}
);
}
);
}
);