云端硬盘API返回“文件ID:未定义”

时间:2020-08-25 15:33:46

标签: node.js google-drive-api

关于node.js,我还是个新手,但仍然想尽我最大的努力来运行此代码块。一切似乎都能正常工作,实际上我的文件夹已创建,但是每次都在控制台中得到“文件ID:未定义”。

我看了其他一些建议使用.then命令的帖子,但我无法成功运行它。任何建议/帮助将不胜感激!

  let drive = google.drive("v3");
  let folderId = '1hlkFcK0zFa6Qqs8pUwTRm3gxxx';
  let fileMetadata = {
  'name': [`${newDataArray}`],
  'parents': [folderId],
  'mimeType': 'application/vnd.google-apps.folder',
  "resource": {}
  };
    drive.files.create({
    auth: cl,
    resource: fileMetadata,
    fields: 'id'  
    }, function (err, file) {
    if (err) {
    // Handle error
    console.error(err);
    } else {
    console.log('File Id: ', file.id);

    }
  })

2 个答案:

答案 0 :(得分:0)

问题是您的valid_years = [y.split("_")[0] for y in df.columns if y.endswith("_Q1") | y.endswith("_Q2") | y.endswith("_Q3") | y.endswith("_Q4")] valid_years = [x for x in set(valid_years) if valid_years.count(x)==4] results = {} for year in valid_years: results[year] = df.filter(regex='^'+str(year), axis=1).unstack().astype(float).mean(skipna=True) print(results) 财产。如果您通过控制台记录err对象,则应该看到此说明。

将字段设置为fieldsfiles(id)之一,或者完全将其完全省略。

答案 1 :(得分:0)

知道了!!!它是file.data.id,而不是console.log中的file.id

let drive = google.drive("v3");
  let folderId = '1hlkFcK0zFa6Qqs8pUwTRm3xxx';
  let fileMetadata = {
  'name': [`${newDataArray}`],
  'parents': [folderId],
  'mimeType': 'application/vnd.google-apps.folder',
  'response': 'file.id'
  };
    drive.files.create({
    auth: cl,
    resource: fileMetadata,
    fields:'id'  
    }, 
    function (err, file) {
    if (err) {
    // Handle error
    console.error(err);
    } else {
    // console.log('New Folder: https://drive.google.com/corp/drive/folders/' + file.data.id);