"字段" paramether无法在Google云端硬盘nodejs客户端上运行

时间:2018-02-08 20:00:29

标签: javascript node.js google-drive-api

我花了一整天的时间尝试做这项工作,但我唯一能回来的就是"亲切的"," 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是完整代码的要点......

1 个答案:

答案 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);
      }
    }
  });
}