Google Spreadsheets会在Google云端硬盘上创建并上传到用户选择的文件夹

时间:2017-05-01 19:16:07

标签: javascript google-drive-api google-spreadsheet-api google-picker google-apis-explorer

我正在尝试设置以下流程。

  1. 用户点击按钮。
  2. 按钮触发Google Picker的“选择云端硬盘文件夹”
  3. 选择文件夹后,将返回文件夹ID
  4. gapi.client.sheets.spreadsheets.create方法被触发。创建一个填充了某些用户数据的电子表格。
  5. 电子表格将发送到选定的用户文件夹。
  6. 我已经在Google Apps脚本中看到了这一点,所以我知道这是可能的。

    到目前为止,我已经:

        var docsView = new google.picker.DocsView()
            .setIncludeFolders(true)
            .setMimeTypes('application/vnd.google-apps.folder')
            .setSelectFolderEnabled(true);
    
    
        var picker = new google.picker.PickerBuilder()
            .addView(docsView)
            .setOAuthToken(this.oauthToken)
            .setDeveloperKey(developerKey)
            .setCallback(this._pickerCallback)
            .build();
    
        picker.setVisible(true);
    

    允许用户选择文件夹并返回文件夹info / id。

    然后我有了这个方法:

         gapi.client.sheets.spreadsheets.create({
            "properties": {
                "title": title,
            },
            "sheets": [
                sheet1,
                sheet2,
                sheet3,
            ]
        }).then(function(response) {
            console.log(response);
        });
    

    创建Google电子表格。不幸的是,它会自动上传到驱动器。

    在此过程中,如何以及在何处指定要上传到的电子表格的文件夹?

1 个答案:

答案 0 :(得分:0)

您可能想切换到google drive api并使用 gapi.client.drive

在这种情况下,您的方法看起来应该是这样的

gapi.client.drive.files.create({

    'resource' : {
                   'name' : 'mySpreadSheet',
                   'mimeType': 'application/vnd.google-apps.spreadsheet',
                   'parents': ['folderId']
                 }

}).then(function(response) {
    console.log(response);
});