我花了一整天的时间尝试做这项工作,但我唯一能回来的就是"亲切的"," id"," name& #34;和" mimeType"这些文件,无论我在"字段"属性。即使使用Node.js Quickstart guide上的示例也没有帮助,但在apis-explorer中它可以正常工作......
非常感谢任何帮助!
var Q = require('q');
var google = require('googleapis');
gDriveService.prototype.listFiles = function() {
var d = Q.defer();
var drive = google.drive({
version: 'v3'
});
drive.files.list({
pageSize: 25,
fields: "nextPageToken, files(id, name, webViewLink)"
}, function(err, response) {
if (err) {
d.reject(new Error('gDriveService: The API returned an error: ' + err));
return;
}
d.resolve(response);
});
return d.promise;
}

PS:here是完整代码的要点......
答案 0 :(得分:0)
在你的行
d.resolve(response);
尝试使用response.files.webContentLink or
response.files.webViewLink
或来自文件资源的任何其他值。
只需观察Files Resource中的属性层次结构。
此外,我注意到您的请求未获得“授权”。如果您查看NodeJS Quickstart,则授权:
function listFiles(auth) { //notice the 'auth' parameter
var service = google.drive('v3');
service.files.list({
auth: auth, //notice the 'auth' argument
pageSize: 10,
fields: "nextPageToken, files(id, name)"
}, function(err, response) {
if (err) {
console.log('The API returned an error: ' + err);
return;
}
var files = response.files;
if (files.length == 0) {
console.log('No files found.');
} else {
console.log('Files:');
for (var i = 0; i < files.length; i++) {
var file = files[i];
console.log('%s (%s)', file.name, file.id);
}
}
});
}