通过API在团队合作中创建Google工作表

时间:2018-11-13 05:49:38

标签: google-sheets google-drive-api google-sheets-api

下面的代码在“我的云端硬盘”上创建了一个Google工作表,但是如果我必须将其放置到Team Drive上的文件夹怎么办?

我想修改createNewSpreadSheet函数,使其将文件上传到团队驱动器的指定文件夹。

        function createNewSpreadSheet(auth) {
              const sheets = google.sheets({version: 'v4', auth});
          const resource = {
          properties: {
            title:'SampleSheet'
          },
        };
        sheets.spreadsheets.create({
          resource,
          fields: 'spreadsheetId',
        }, (err, spreadsheet) =>{
          if (err) {
            // Handle error.
            console.log(err);
          } else {
            console.log('spreadsheet::',spreadsheet.data.spreadsheetId);
          }
        });
        }


        // Load client secrets from a local file.
        fs.readFile('credentials.json', (err, content) => {
          if (err) return console.log('Error loading client secret file:', err);
          // Authorize a client with credentials, then call the Google Sheets API.
          authorize(JSON.parse(content), createNewSpreadSheet);
        });

1 个答案:

答案 0 :(得分:1)

您可以在如何{strong>将文件导入/上传到Team Drives文件夹上对此blog进行检查。

  

将文件上传到Team Drives文件夹与将文件上传到普通Drive文件夹相同,也可以通过DRIVE.files().create()完成。导入与上传略有不同,因为您要上传文件并将转换为G Suite / Google Apps文档格式,即将CSV作为Google表格,纯文本或MicrosoftWord®文件上传作为Google文档。在示例应用程序中,我们处理前者:

def import_csv_to_td_folder(folder_id, fn, mimeType):
        body = {'name': fn, 'mimeType': mimeType, 'parents': [folder_id]}
        return DRIVE.files().create(body=body, media_body=fn+'.csv',
                supportsTeamDrives=True, fields='id').execute().get('id')
     

导入的秘密是MIMEtype。告诉云端硬盘是否要转换为G Suite / Google Apps格式。导出也是如此。在我的SO答案here中可以找到Google Drive API支持的导入和导出MIME类型。