【发布时间】:2018-10-26 15:30:50
【问题描述】:
这是我的代码:
const fs = require('fs');
const { google } = require('googleapis');
const Auth = require('../authorization/auth_drive/auth');
// get data
var gotData = function downloadFiles(fileId, callback) {
let content = fs.readFileSync('./GEARS/authorization/client_secret.json');
Auth(JSON.parse(content), (auth) => {
//const returnData = [];
const drive = google.drive({ version: 'v3', auth });
const fileId = '';
const dest = fs.createWriteStream('./test_files/test.png');
drive.files.get({fileId: fileId, alt: 'media'})
.on('end', () => {
console.log('Done');
})
.on('error', err => {
console.log('Error', err);
})
.pipe(dest);
});
};
module.exports = gotData;
按照谷歌文档LINK
我尝试过的所有其他功能,如列表、复制、上传或表格读写对我来说都非常适合,除了下载。我的应用程序立即因错误而崩溃
TypeError:无法读取未定义的“on”属性
我查看了谷歌的这个功能的示例,但我没有发现任何不同之处,那么为什么它对谷歌开发者有效,而对我却不起作用?
我在 google 上没有找到一个遇到这个问题的人,所以也许,如果你明白应该做什么,你可以看到我做错了什么。
-- 我将包含THIS LINK,这是我拥有的复制功能,它可以完美运行,以防万一。
感谢您的建议。
【问题讨论】:
-
很抱歉我的回答对您的情况没有用处。
-
抱歉,我只是在测试积分系统在 SO 上的工作方式,不知道在我更改任何内容时你会收到通知。通过标记你的答案,我实际上得到了更多的分数。我确实说过我做了不同的事情,所以实际上你的解决方案不是我的解决方案,但它也会起作用,这就是为什么我之前标记它并且我站在标记后面,我只是好奇了一下。
-
感谢您的回复。我可以理解它。
标签: node.js google-api google-drive-api