我正在使用Google驱动器文件下载api从Google驱动器下载文件。
我正在使用以下代码,
var fileId = '1RDrrFGV2fM7jvnxGFileId';
var dest = fs.createWriteStream('./sample.xlsx');
drive.files.get({fileId: fileId, alt: 'media'}, {responseType: 'stream'},
function(err, res){
res.data
.on('end', () => {
console.log('Done');
})
.on('error', err => {
console.log('Error', err);
})
.pipe(dest);
}
);
下载的文件为空,如何获取文件数据。
答案 0 :(得分:0)
drive.files.get将仅返回文件的元数据。由于您尝试下载文件并检索内容,因此应使用
#include<iostream>
#include<iomanip>
bool treat_line(std::istream& is)
{
char c;
while(is)
{
is >> std::noskipws >> c;
if(c == '\n')
{
std::cout << "Newline\n";
break;
}
else
std::cout << c;
}
return bool(is); // convert "OK" state of stream to boolean
}
int main()
{
while(treat_line(std::cin))
;
std::cout << "done\n";
}
您可以参考客户端文档https://apis-nodejs.firebaseapp.com/drive/index.html
答案 1 :(得分:0)
我有另一个下载谷歌驱动器文件的解决方案。使用以下代码段
var downloadfile="https://docs.google.com/uc?id=" + fileId
return downloadfile;
浏览下载文件的网址以下载文件。