Google驱动API下载文件NodeJS [英] Google drive API downloading file nodejs
本文介绍了Google驱动API下载文件NodeJS的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用node.js中的Google drive APIv3获取文件的内容。
我在这篇文档中读到,我从drive.files.get({fileId, alt: 'media'})
得到一个流,但事实并非如此。我得到了承诺。
https://developers.google.com/drive/api/v3/manage-downloads
有人能告诉我如何从该方法获取流吗?
推荐答案
我相信您的目标和情况如下。
- 您要从
drive.files.get
的方法检索蒸汽类型。 - 您希望将googleapis与Node.js配合使用来实现此目的。
- 您已经完成了使用驱动器API的授权过程。
对于这个问题,这个答案怎么样?在这种情况下,请使用responseType
。Ref
模式1:
在此模式中,文件作为流类型下载,并另存为文件。
示例脚本:
var dest = fs.createWriteStream("###"); // Please set the filename of the saved file.
drive.files.get(
{fileId: id, alt: "media"},
{responseType: "stream"},
(err, {data}) => {
if (err) {
console.log(err);
return;
}
data
.on("end", () => console.log("Done."))
.on("error", (err) => {
console.log(err);
return process.exit();
})
.pipe(dest);
}
);
模式2:
在此模式中,文件作为流类型下载并放入缓冲区。
示例脚本:
drive.files.get(
{fileId: id, alt: "media",},
{responseType: "stream"},
(err, { data }) => {
if (err) {
console.log(err);
return;
}
let buf = [];
data.on("data", (e) => buf.push(e));
data.on("end", () => {
const buffer = Buffer.concat(buf);
console.log(buffer);
});
}
);
引用:
这篇关于Google驱动API下载文件NodeJS的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文