【发布时间】:2017-11-14 17:57:42
【问题描述】:
我正在尝试使用 node.js 中的 rest API(insert) 将文件上传到谷歌驱动器,我有 access_token 和 refresh_token。如何在没有任何 sdk 的情况下上传。
【问题讨论】:
我正在尝试使用 node.js 中的 rest API(insert) 将文件上传到谷歌驱动器,我有 access_token 和 refresh_token。如何在没有任何 sdk 的情况下上传。
【问题讨论】:
通过稍微修改NodeJS basic upload sample 并将其与已经可用的NodeJS Quickstart 混合,我成功地测试了这个NodeJS 上传
上传功能如下:
function uploadFile(auth){
var drive = google.drive('v3');
var fileMetadata = {
'name': 'uploadImageTest.jpeg'
};
var media = {
mimeType: 'image/jpeg',
//PATH OF THE FILE FROM YOUR COMPUTER
body: fs.createReadStream('/usr/local/google/home/rrenacia/Downloads/noogui.jpeg')
};
drive.files.create({
auth: auth,
resource: fileMetadata,
media: media,
fields: 'id'
}, function (err, file) {
if (err) {
// Handle error
console.error(err);
} else {
console.log('File Id: ', file.id);
}
});
}
您可以使用 NodeJS 快速入门作为授权参考。更改listFiles函数名:
authorize(JSON.parse(content), listFiles);
到您的上传函数的名称,在这种情况下:
authorize(JSON.parse(content), uploadFile);
在我的 Google 驱动器上成功上传:
【讨论】:
fields: 'id',如何上传驱动器上已经存在的文件夹?
【讨论】: