我正在尝试使用Google Node.js client library访问Google Drive API,因此我可以将一些文件上传到我的云端硬盘帐户,但我遇到了这样的错误:
drive.files.create({
^
ReferenceError: drive is not defined
at Object.<anonymous> (/Applications/MAMP/htdocs/google_drive/upload.js:16:1)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
我正在使用文档示例:
var fs = require('fs');
var readline = require('readline');
var google = require('googleapis');
var googleAuth = require('google-auth-library');
var fileMetadata = {
'name': 'photo.jpg'
};
var media = {
mimeType: 'image/jpeg',
body: fs.createReadStream('files/photo.jpg')
};
drive.files.create({
resource: fileMetadata,
media: media,
fields: 'id'
}, function (err, file) {
if (err) {
// Handle error
console.error(err);
} else {
console.log('File Id: ', file.id);
}
});
有人可以帮忙解决这个问题吗?。
答案 0 :(得分:2)
您需要先定义它。
var drive = google.drive("v3");
在Google的文档中查找适当的方法:
https://github.com/google/google-api-nodejs-client/#authorizing-and-authenticating
答案 1 :(得分:0)
我相信你的const google
声明应该使用解构赋值。如,
const {google} = require(googleapis);
然后你这样声明drive
:
const drive = google.drive({version: 'v3', auth});
auth
是授权的OAuth2客户端。